在Windows上使用cmake for c ++

Yam*_*ron 14 c++ cmake

大约连续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.

编辑:hrrm.是否只有我这样的问题?我可以补充一点,我看了10个教程,90%的步骤是相似的(如果我首先尝试使用VS编译):

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

所以我实际上正在寻找的是让CMake工作,因为它成功地生成和构建源代码(使用gui),我觉得我正在接近.我是否需要从sdl添加任何其他库到我的编译器mingw32和/或cmake的?

小智 10

如果你通过命令运行cmake:

cmake -G "Visual Studio 14 Win64" path\to\source\dir
Run Code Online (Sandbox Code Playgroud)

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

msbuild Project.sln
Run Code Online (Sandbox Code Playgroud)

如果你运行cmake:

cmake -G "NMake Makefiles" path\to\source\dir
Run Code Online (Sandbox Code Playgroud)

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

nmake
Run Code Online (Sandbox Code Playgroud)


Bob*_*Bob 6

你几乎就在那里使用Visual Studio.选择Visual Studio作为目标.在Visual Studio中打开生成的项目,构建它.(就像你所做的那样).然后,不是尝试运行BUILD_ALL,而是运行一个创建可执行文件的实际项目,它也应该在该列表中.只需右键单击它并"播放"它.

如果仍然出现错误,请详细发布,包括错误发生前的操作.注意:精心配置的跨平台CMake项目(也称为CMakeLists.txt)不应该要求任何摆弄VC++目录.它应该自动运行,尤其是对于SDL这样的知名库.