如何在 Visual Studio 的 CMakeLists.txt 文件中设置 CLion 构建架构?

Ste*_*ger 9 c++ cmake visual-studio clion

在 CLion 中,如何在 CMakeLists.txt 文件中设置 Visual Studio 构建架构?

根据cmake.org,可以在 CMAKE_GENERATOR_TOOLSET 选项中设置 host=x64 。

VS 2013 及更高版本的 Visual Studio 生成器支持通过在 CMAKE_GENERATOR_TOOLSET 选项中指定 host=x86 或 host=x64 值来使用 32 位或 64 位主机工具链。CMake 在此变量中提供选定的工具链架构首选项(x86、x64 或空)。

但无论我做什么,当我在 CLion 中单击“运行”时都没有任何效果。

CMakeLists.txt:

cmake_minimum_required(VERSION 3.15)
project(native_data_types)

set(CMAKE_CXX_STANDARD 14)

# http://www.saoe.net/blog/generating-64-bit-projects-for-visual-studio-with-cmake/


# https://cmake.org/cmake/help/latest/variable/CMAKE_VS_PLATFORM_TOOLSET_HOST_ARCHITECTURE.html
# How to set this ?

# set(host "x64")
# set(CMAKE_VS_PLATFORM_TOOLSET_HOST_ARCHITECTURE "x64")
# set(CMAKE_GENERATOR_TOOLSET "host=x64")



# set (native_data_types_ARCHITECTURE "x64")
# set(BUILD_ARCH "-m64")
# set(BUILD_ARCH "-m32")

# set(CMAKE_C_FLAGS -m32)
# set(CMAKE_CXX_FLAGS -m32)

# set(CMAKE_C_FLAGS -m64)
# set(CMAKE_CXX_FLAGS -m64)

add_executable(native_data_types main.cpp)
Run Code Online (Sandbox Code Playgroud)

我能做的就是在 CLion 设置中设置一个额外的工具链,并将所需的工具链设置为默认工具链,但是缓慢的速度绝对是可怕的,这不是我想要的。
我想在 CMakeLists.txt 文件中设置可执行架构,这样我就可以在一秒钟内快速切换。

例如,在 Linux 上,我使用 gcc,我可以设置

set(CMAKE_C_FLAGS -m32)
Run Code Online (Sandbox Code Playgroud)

或者

set(CMAKE_CXX_FLAGS -m32)
Run Code Online (Sandbox Code Playgroud)

但不幸的是,Visual-Studio-Compiler 似乎没有这样的选项......

Sir*_*oma 14

您需要amd64在“设置”->“构建、执行、部署”->“工具链”下将工具链更新为 x64(在我的例子中),并确保也更新 CMake 配置文件

工具链设置

  • 这是我寻找了大约一个小时的解决方案!另外,在我的下拉列表中,像你一样,没有“x64”(而不是“amd64”),但我手动输入它并且工作正常。 (2认同)