如何配置CMakeList以使用Windows命令行编译器代替Visual Studio

问题描述 投票:1回答:1

我想将我的项目从Visual Studio解决方案转换为使用cmake构建并使用makefile进行编译

这是一个两部分的问题

  1. 现在CMakeLists.txt是:

    cmake_minimum_required(VERSION 3.13.0)
    
    project(Project2015 CXX)
    
    add_executable(Project Source/main.cpp)
    

当我从构建目录中运行cmake ..时,它将生成* .vcxproj和* .sln文件,但是没有makefile。如何更改CMakeLists以生成Makefile?

  1. 对于Windows,等效于gcc的命令行编译器是什么?以及如何将此编译器设置为CMake和生成的Makefile的目标?了解构建工具https://docs.microsoft.com/en-us/cpp/build/walkthrough-compile-a-c-program-on-the-command-line?view=vs-2019我是否需要针对cl.exe编译器?这可以与Cmake和Makefiles一起使用吗?我在网上阅读这些命令行标志将设置编译器,我如何将它们添加到CMakeLists.txt以自动使用]

    DCMAKE_C_COMPILER=cl 
    DCMAKE_C_COMPILER_FORCED=ON 
    DCMAKE_CXX_COMPILER=cl 
    DCMAKE_CXX_COMPILER_FORCED=ON 
    DCMAKE_BUILD_TYPE=Debug 
    DCMAKE_INSTALL_PREFIX=%CFITSIO_DIR% 
    G"NMake Makefiles"
    
windows visual-studio gcc makefile cmake
1个回答
0
投票

您已使用CMake的构建工具模式从命令行进行构建。

使用Visual Studio 2019将项目配置为64位版本后,例如与

cmake -S <sourcedir> -B <builddir> -G "Visual Studio 16 2019" -A x64 

您会跑步

cmake --build <builddir> --target ALL_BUILD --config Release

有关其他选项(尤其是最小输出),请参见here

© www.soinside.com 2019 - 2024. All rights reserved.