在 Windows 上使用 cmake 用于 C++

2024-03-15

连续大约 5 天,我一直在尝试使用 C++ 环境设置我的计算机,以便使用 sdl、glm、opengl 等库进行编程。能够在 UNIX 机器上的演示中运行它对我们来说很重要,所以我使用 cmake 运行。 我终于让它与 cmake-gui 一起工作,我什至不再尝试使用任何 IDE。

我指定了我的文件夹项目以及构建二进制文件的位置,我得到了一个文件夹“CMakeFiles”以及一个txt“CMakeCache”,一个CMAKE文件“cmake_install.cmake”和一个文件“Makefile”。另外,在我的文件夹“CMakeFiles”中,还有许多其他文件夹,例如“CMakeTmp”、“CompilerIdC”、“CompilerIdCXX 等”,并且在两个文件夹“Compiler*”中,每个文件夹都有一个 .exe,但不起作用!那么我想要的可执行文件在哪里?

我打开cmd并导航到我的文件夹并尝试编写“make”,就像我们应该根据说明所做的那样。唉,效果不太好。希望您能分享您的智慧并帮助像我这样的新手!

那么编译包含附加库的项目到底需要什么?到目前为止,我有一个编译器,Mingw32,最新的 CMake 并使用 cmake-gui 来提取二进制文件,但获取 makefile。

编辑: 嗯。难道只有我遇到这样的问题吗?我可以补充一点,我已经仔细查看了大约 10 个教程,其中 90% 的步骤都是相似的(如果使用我最初尝试过的 VS 进行编译):

  • 下载最新的SDL
  • 在 C:\SDL 上创建一个文件夹,其中包含两个文件夹:include 和 lib
  • 从下载的 SDL 中复制库和包含文件
  • 创建新的 VS 项目,打开 VC++ 目录并添加 lib/incl 文件夹,例如 C:\SDL
  • 添加到链接器 SDL.lib 和 SDLmain.lib (我确保它们已链接,这里没有问题)
  • 将系统更改为 WINDOWS(如果您不需要两个窗口,则可选)
  • 添加了“附加库”的包含内容
  • 将 SDL.dll 文件(我从最新的 SDL 获得)放在我的 C:\windows\system32(64SysWoW) 中 也在我的项目文件中。

所以我真正想要的是让 CMake 工作,因为它成功地生成和构建源代码(使用 GUI),我觉得我已经接近了。我是否需要将 sdl 中的任何其他库添加到我的编译器 mingw32 和/或 cmake 中?


如果您通过命令运行 cmake:

cmake -G "Visual Studio 14 Win64" path\to\source\dir

您需要运行此命令才能继续(在Visual Studio 命令提示符):

msbuild Project.sln

如果你运行 cmake:

cmake -G "NMake Makefiles" path\to\source\dir

您需要运行此命令才能继续(在Visual Studio 命令提示符):

nmake
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Windows 上使用 cmake 用于 C++ 的相关文章

  • 数据模板绑定垃圾邮件输出窗口出现错误:找不到管理 FrameworkElemen

    我有问题 System Windows Data 错误 2 找不到目标元素的管理 FrameworkElement 或 FrameworkContentElement BindingExpression 无路径 数据项 空 目标元素是 So
  • 有没有快速创建集合的方法?

    目前我正在创建一个像这样的新集 std set a s s insert a1 s insert a2 s insert a3 s insert a10 有没有办法创建s在一行 int myints 10 20 30 40 50 std s
  • 在实体框架拦截器中向 DbScanExpression 添加内部联接

    我正在尝试使用实体框架 CommandTree 拦截器通过 DbContext 向每个查询添加过滤器 为了简单起见 我有两个表 一个称为 User 有两列 UserId 和 EmailAddress 另一个称为 TenantUser 有两列
  • 在 C# 中按元素相乘数组具有意想不到的性能

    我想找到按元素相乘两个数组的最佳方法 这是更广泛项目的一部分 其中性能而不是唯一的考虑因素 我今天开始用 C Linqpad 编写一些函数 因此它还没有以任何方式进行优化 下面代码的输出如下 Environment ProcessorCou
  • 在 Xamarin 中隐藏软键盘

    如何隐藏软键盘以便在聚焦时显示Entry在 Xamarin forms 便携式表单项目中 我假设我们必须为此编写特定于平台的渲染器 但以下内容不起作用 我创建自己的条目子类 public class MyExtendedEntry Entr
  • 与 Qt 项目的静态链接

    我有一个在 Visual Studio 2010 Professional 中构建的 Qt 项目 但是 当我运行它 在调试或发布模式下 时 它会要求一些 Qt dll 如果我提供 dll 并将它们放入 System32 中 它就可以工作 但
  • GCC 和 ld 找不到导出的符号...但它们在那里

    我有一个 C 库和一个 C 应用程序 尝试使用从该库导出的函数和类 该库构建良好 应用程序可以编译 但无法链接 我得到的错误遵循以下形式 app source file cpp text 0x2fdb 对 lib namespace Get
  • 时间:2019-03-17 标签:c#ThreadSafeDeepCopy

    我一直在阅读很多其他问题以及大量谷歌搜索 但我一直无法找到明确的解决方案 根据我读过的一些最佳实践 类的静态方法应该创建线程安全的 并且实例成员应该将线程安全留给消费者 我想为该类实现深度复制方法 该类本身还有其他引用类型成员 有没有什么方
  • fprintf() 线程安全吗?

    我正在为野人就餐问题的某些变量编写一个 C 解决方案 现在 我创建线程 每个线程都将 FILE 获取到同一个调试文件 在线程内我正在使用 fprintf 进行一些打印 打印的语句不受任何类型的互斥锁等保护 我没有在调试文件中观察到任何交错行
  • 在 JSQMessagesViewController 中显示 LocationMediaItem

    我刚刚尝试实施LocationMediaItem in my Xamarin iOS应用程序使用JSQMessagesViewController 一切都很顺利 唯一的问题是UICollectionView应该显示位置的单元格永远停留在加载
  • C# 构建一个 webservice 方法,它接受 POST 方法,如 HttpWebRequest 方法

    我需要一个接受 POST 方法的 Web 服务 访问我的服务器正在使用 POST 方法 它向我发送了一个 xml 我应该用一些 xml 进行响应 另一方面 当我访问他时 我已经使用 HttpWebRequest 类进行了管理 并且工作正常
  • 如何从文本文件读取整数到数组

    这就是我想做的 我对此有些不满 但我希望你能容忍我 这对我来说是一个非常新的概念 1 在我的程序中 我希望创建一个包含 50 个整数的数组来保存来自文件的数据 我的程序必须获取用户的文档文件夹的路径 2 文件的名称为 grades txt
  • 如何在服务器端按钮点击时关闭当前标签页?

    我尝试在确认后关闭当前选项卡 因此我将以下代码放在确认按钮的末尾 但选项卡没有关闭 string jScript ClientScript RegisterClientScriptBlock this GetType keyClientBl
  • 给出 5 个参数,但在终端中只得到 3 个参数

    我想将一个文件传递给一个c 程序 如果我在 IDE 中执行此操作 test string string lt test txt return argc 5 但在终端上我刚刚得到argc 3 看来 这是因为 什么是 lt 意思是 我正在使用
  • ASP.NET MailMessage.BodyEncoding 和 MailMessage.SubjectEncoding 默认值

    很简单的问题 但我在 MSDN 上找不到答案 查找 ASP NET 将用于的默认值 MailMessage BodyEncoding and MailMessage SubjectEncoding 如果你不在代码中设置它们 Thanks F
  • C# 中的 strstr() 等效项

    我有两个byte 我想找到第二个的第一次出现byte 在第一个byte 或其中的一个范围 我不想使用字符串来提高效率 翻译第一个byte to a string会效率低下 基本上我相信就是这样strstr 在 C 中做 最好的方法是什么 这
  • 我可以让 ungetc 取消阻止阻塞的 fgetc 调用吗?

    我想在收到 SIGUSR1 后使用 ungetc 将 A 字符重新填充到标准输入中 想象一下我有充分的理由这样做 调用 foo 时 stdin 中的阻塞读取不会被收到信号时的 ungetc 调用中断 虽然我没想到它会按原样工作 但我想知道是
  • C++ Streambuf 方法可以抛出异常吗?

    我正在尝试找到一种方法来获取读取或写入流的字符数 即使存在错误并且读 写结束时间较短 该方法也是可靠的 我正在做这样的事情 return stream rdbuf gt sputn buffer buffer size 但如果streamb
  • 将 char[][] 转换为 char** 会导致段错误吗?

    好吧 我的 C 有点生疏了 但我想我应该用 C 来做我的下一个 小 项目 这样我就可以对其进行抛光 并且我已经有不到 20 行的段错误了 这是我的完整代码 define ROWS 4 define COLS 4 char main map
  • QFileDialog::getSaveFileName 和默认的 selectedFilter

    我有 getSaveFileName 和一些过滤器 我希望当用户打开 保存 对话框时选择其中之一 Qt 文档说明如下 可以通过将 selectedFilter 设置为所需的值来选择默认过滤器 我尝试以下变体 QString selFilte

随机推荐

  • 所需的 Bluemix Analytics for Apache Spark 日志文件信息

    我在调试我的 Spark 笔记本时想要更多信息 我找到了一些日志文件 ls HOME notebook logs 这些文件是 bootstrap nnnnnnnn nnnnnn log jupyter nnnnnnnn nnnnnn log
  • 矩阵到欧拉角

    我正在尝试从旋转矩阵中提取欧拉角 我的约定 矩阵列主 坐标系右手 正角右手 旋转顺序 YXZ 首先是航向 然后是姿态 然后是倾斜 我发现了这个 但无法使用它 因为它们使用其他轴顺序 http www euclideanspace com m
  • 我应该使用 Eclipse 插件(或 OSGi Bundles)作为普通的依赖管理工具吗?

    它再次发生了 我加入了一个新项目 该项目由几个具有相互依赖性的普通 Eclipse Java 项目组成 所有项目都通过项目构建路径进行管理 我发现这一切有点混乱 当谈到运行配置时 你就进入了地狱 过去 我一直坚持创建插件项目 而不是普通的
  • 在 Vuejs 中使用 mixins

    我目前正在学习如何使用 Vuejs 开发应用程序 我有一个 main js 文件 其中包含用于设置 Vue js 的代码 我使用新文件 api js 创建了一个新目录 mixins 我想将其用作 mixin 以便每个组件都可以使用函数来访问
  • 为什么 git 一直告诉我它是“在后台自动打包存储库以获得最佳性能”?

    Note I don t认为这是重复的这个问题 https stackoverflow com questions 8633981 what does auto packing the repository for optimum perf
  • 如何使用反射(镜像)来访问 Dart 类中的方法名称?

    我需要 获取 Dart 类中的方法 我怎样才能做到这一点 我希望能够调用这些方法 我可以看一个例子吗 这是一个简单的可复制粘贴代码示例 import dart mirrors import dart io main var im refle
  • 使用 ajax 时 csrf 令牌无效

    我开始学习NodeJs在我对 js 的了解的推动下 我开始编写一些代码来创建用户注册逻辑 基本上我已经配置了ExpressJS通过以下方式 const express require express const app express co
  • 无法重新绑定滚动事件?

    我想在ajax调用中重新绑定窗口滚动事件 window scroll function column height first column height screenTop window scrollTop window height w
  • Python正则表达式不匹配

    这是我确信我错过了一些简单内容的事情之一 但是 在下面的示例程序中 我尝试使用 Python 的 RE 库来解析字符串 line 以获取浮点百分号之前的数字 即 90 31 但代码总是打印 不匹配 我也尝试了其他几个正则表达式 所有结果都相
  • 方法名称是否隐式转换为委托类型?

    我在理解代表方面有点困难 我有一个委托 当输入 y 字符时我将调用它 public delegate void respondToY string msgToSend private respondToY yHandler 我有一个订阅方法
  • Clojure 蛇跳过位置

    我是 Clojure 初学者 我一直在玩这里介绍的贪吃蛇游戏代码https github com stuarthalloway programming clojure blob master src examples snake clj h
  • 如何在 Windows 上的 Firefox 中阻止 Flash 内容透过 jQuery UI 对话框

    我正在使用 jQuery UI 对话框 在 Windows 上的 IE 和 FF 中 我通过对话框获取底层 Flash 内容 我通过启用 IE 解决了这个问题bgiframejQuery 对话框窗口上的选项并更改bgiframe脚本适用于任
  • 如何从 Mesos 框架 Scheduler 类读取 mesos 任务 stdout/stderr?

    我正在开发一个 Mesos 框架 它工作得很好 我唯一的问题是我无法从 Scheduler 类内部读取任务 stdout 或 stderr 我在下面提供了一个代码示例 我想读取已完成任务的标准输出和标准错误 最好在 statusUpdate
  • 10e 表示法与变量一起使用吗?

    我想知道如何在 python 2 7 9 中使用变量的 10eX 表示法 就文字而言 10eX 给出 10 X 00000 浮点数 然而 我想使用一些变量而不是文字 但它不起作用 如果可以的话 我应该进行什么语法更改或者是否有其他方法可以这
  • 代码块、单个项目、许多可执行文件

    I use 代码 块 http en wikipedia org wiki Codeblocks和 C 我的项目应该构建多个可执行文件 一组使用共享库的小工具 如何设置 CB 生成多个二进制文件 每个二进制文件都有自己的main 看看Cod
  • 如何为我的 bool 属性正确实现 INotifyPropertyChanged 并绑定到 CheckBox.IsChecked?

    这里是新手 我一直在尝试围绕数据绑定进行思考 并想尝试将视图中的复选框双向绑定到我称为 State 的单独类中的布尔值 关键是要确保它们始终保持同步 因此 我在视图中创建了一个复选框 并将其绑定到前面提到的 State 类中的布尔属性 并附
  • winsock 在哪里存储套接字的 IP 地址?

    假设我有一个简单的 winsock 服务器 它有一个侦听套接字 然后当接受连接时 它将套接字存储在套接字数组中 以允许多个连接 如何获取特定连接的 IP 地址 它是否存储在套接字句柄中 只要套接字保持连接 您就可以获得自己的套接字地址和对等
  • 在 Java 中反序列化 C# 二进制

    我有一个系统 其中使用 C 程序创建序列化文件 然后在另一个 C 程序中反序列化 我想知道是否可以在 Java 中对 C 文件进行二进制反序列化 Thanks 您可以尝试使用一些具有两个平台实现并以与平台无关的格式输出数据的序列化器 例如
  • Angular 2:如何将 JavaScript 日期对象与 NgModel 两种方式绑定一起使用

    我正在使用 Angular 2 并且有以下代码 JS 此代码启动模板的员工变量 handleEmployee employee Employee this employee employee this employee startDate
  • 在 Windows 上使用 cmake 用于 C++

    连续大约 5 天 我一直在尝试使用 C 环境设置我的计算机 以便使用 sdl glm opengl 等库进行编程 能够在 UNIX 机器上的演示中运行它对我们来说很重要 所以我使用 cmake 运行 我终于让它与 cmake gui 一起工