Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用CMAKE从命令行在Windows上构建x86和/或x64?_C_Visual Studio_Cmake_Cross Compiling_X86 64 - Fatal编程技术网

如何使用CMAKE从命令行在Windows上构建x86和/或x64?

如何使用CMAKE从命令行在Windows上构建x86和/或x64?,c,visual-studio,cmake,cross-compiling,x86-64,C,Visual Studio,Cmake,Cross Compiling,X86 64,让cmake使用Visual Studio在Windows上构建x86的一种方法如下: 启动x86的Visual Studio命令提示符 运行cmake:cmake-G“NMake Makefiles”\path\u to\u source\ 恩马克 让cmake使用Visual Studio在Windows上构建x64的一种方法如下: 启动x64的Visual Studio命令提示符 运行cmake:cmake-G“NMake Makefiles”\path\u to\u source\ 恩马

让cmake使用Visual Studio在Windows上构建x86的一种方法如下:

  • 启动x86的Visual Studio命令提示符
  • 运行cmake:
    cmake-G“NMake Makefiles”\path\u to\u source\
  • 恩马克
  • 让cmake使用Visual Studio在Windows上构建x64的一种方法如下:

  • 启动x64的Visual Studio命令提示符
  • 运行cmake:
    cmake-G“NMake Makefiles”\path\u to\u source\
  • 恩马克

  • 使用Cmake,如何编译其中一种或两种体系结构?(就像VisualStudio在IDE中是如何实现的)

    这不能通过CMake实现。您必须生成两个单独的生成文件夹。一个用于x86 NMake生成,一个用于x64 NMake生成。您也不能使用CMake生成一个涵盖两种体系结构的Visual Studio项目

    要在不启动Visual Studio命令提示符的情况下从32位和64位的命令行生成Visual Studio项目,请使用常规的Visual Studio生成器

    对于CMake 3.13或更新版本,请运行以下命令:

    cmake -G "Visual Studio 16 2019" -A Win32 -S \path_to_source\ -B "build32"
    cmake -G "Visual Studio 16 2019" -A x64 -S \path_to_source\ -B "build64"
    cmake --build build32 --config Release
    cmake --build build64 --config Release
    
    mkdir build32 & pushd build32
    cmake -G "Visual Studio 15 2017" \path_to_source\
    popd
    mkdir build64 & pushd build64
    cmake -G "Visual Studio 15 2017 Win64" \path_to_source\
    popd
    cmake --build build32 --config Release
    cmake --build build64 --config Release
    
    对于CMake的早期版本,请运行以下命令:

    cmake -G "Visual Studio 16 2019" -A Win32 -S \path_to_source\ -B "build32"
    cmake -G "Visual Studio 16 2019" -A x64 -S \path_to_source\ -B "build64"
    cmake --build build32 --config Release
    cmake --build build64 --config Release
    
    mkdir build32 & pushd build32
    cmake -G "Visual Studio 15 2017" \path_to_source\
    popd
    mkdir build64 & pushd build64
    cmake -G "Visual Studio 15 2017 Win64" \path_to_source\
    popd
    cmake --build build32 --config Release
    cmake --build build64 --config Release
    

    可以从命令行使用选项
    --build
    和build目录生成使用其中一个Visual Studio生成器的CMake生成的项目。
    --config
    选项指定生成配置。

    尝试使用
    CMAKE\u生成器\u平台

    e、 g


    除了
    CMAKE\u GENERATOR\u PLATFORM
    变量外,还有
    -A
    开关

    cmake -G "Visual Studio 16 2019" -A Win32
    cmake -G "Visual Studio 16 2019" -A x64
    

    -A=指定平台名称(如果受支持)
    发电机。
    
    有没有一种方法可以使用一个命令提示符+两个构建目录,使两种体系结构都不必退出并启动x86提示符,然后启动x64提示符?这里也是,但似乎有一个解决方案:(而且不需要关闭提示符,使用
    nmake
    )简单但可移植!