首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在cmake中指定MSVC编译器版本?

在CMake中指定MSVC编译器版本可以通过设置CMAKE_GENERATOR_TOOLSET变量来实现。CMAKE_GENERATOR_TOOLSET变量用于指定使用的编译器工具集,从而确定使用的编译器版本。

具体步骤如下:

  1. 打开CMakeLists.txt文件,在文件开头添加以下代码:
  2. 打开CMakeLists.txt文件,在文件开头添加以下代码:
  3. 这里将CMAKE_GENERATOR_TOOLSET设置为"v142",表示使用Visual Studio 2019的编译器版本。你可以根据需要指定其他版本,例如"v141"表示Visual Studio 2017的编译器版本。
  4. 重新生成项目的构建文件。可以使用CMake的命令行工具或者图形界面工具来执行此操作。
    • 命令行工具:在项目根目录下执行以下命令:
    • 命令行工具:在项目根目录下执行以下命令:
    • 图形界面工具:打开CMake图形界面工具,选择项目源代码目录和构建目录,点击"Configure"按钮,然后选择合适的生成器,点击"Finish"按钮。
  • 生成项目的构建文件。使用Visual Studio打开生成的项目文件(通常是.sln文件),然后进行编译和构建操作。

通过以上步骤,你可以在CMake中指定MSVC编译器版本。这样可以确保项目在特定的编译器版本下进行构建,以满足特定的编译要求或兼容性需求。

推荐的腾讯云相关产品:腾讯云CVM(云服务器)和腾讯云CDS(云开发者套件)。腾讯云CVM提供了强大的云服务器资源,可用于部署和运行各种应用程序。腾讯云CDS是一套集成开发环境,提供了丰富的开发工具和服务,方便开发人员进行云原生应用的开发和部署。

腾讯云CVM产品介绍链接:https://cloud.tencent.com/product/cvm

腾讯云CDS产品介绍链接:https://cloud.tencent.com/product/cds

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 近期cmake-toolset的一些适配问题

    在我的测试 Clang 6.0 版本(对应AppleClang 版本10.0)带的 libc++ 才开始能够正常使用这个接口。所以在这些老的编译器下需要降级到 v3.13.0 。...abseil-cpp 的问题仍然是在一些编译器适配上,特别是它其实对编译器版本要求比较高。...而且比较坑的是 gRPC 申明支持的编译器版本比 abseil-cpp 声明支持的版本要老,然而 abseil-cpp 却是 gRPC 的依赖项之一,所以我们也得按实际的测试来看支持性。...这样可以最大限度地共享已有的编译缓存;另外优化了一些重置cmake会用到的环境变量的脚本。因为有些构建流程会通过设置环境变量来影响构建选项。 gRPC 对新版本编译器适配也有一些问题。...abseil-cpp 会在自带的STL支持的时候使用STL版本的标准库,否则才是使用 abseil-cpp 内的版本。 虽然这是编译器的问题,但是我们也不得不打Patch绕开他。

    90840

    重构基于CMake的构建工具链

    opentelemetry-cpp 官方对编译器的支持是 GCC 4.8-最新,MSVC 2019+,Clang忘记版本最低要求了。...但是某些场景,比如自定义内部源、组件版本好控制和低版本编译器支持它也不是很香。 cmake-toolset 我原先项目管理使用的也是 cmake ,所以现在也是使用的 cmake 和 git。...Windows SDK版本版本MSVC支持C11了,但是需要使用新版本的Windows SDK,这可以通过 CMAKE_SYSTEM_VERSION 来指定。...以下是支持的环境(配置在CI测试): 默认行为:启用cmake能够识别的编译器所支持的最新标准(当前最新会开启 C++20 和 C11)对支持的编译环境启用 C++20 协程支持对支持的编译环境启用...C++20 Module支持MSVC:默认使用 UTF-8 编码对高版本编译器设置 __cplusplus == _MSVC_LANG即设置 /Zc:__cplusplus即和C++标准保持一致可通过

    5.1K10

    cmake:cpp_redis的find_package脚本 FindCppRedis.cmake

    ) FindCppRedis.cmake 执行时可接收以下输入变量 CPPREDIS_MT_DIR, [可选],指定MSVC以/MT选项编译的库的安装位置 CPPREDIS_MD_DIR, [可选],指定...MSVC以/M选项编译的库的安装位置 CPPREDIS_MSVCRT, [可选],指定当前cppredis库的 MSVC运行库的类型 ‘/MT’ 或 ‘/MD’,默认’/MT’ 如果定义了 CPPREDIS_MT_DIR...下的输出变量 : CPPREDIS_LIBRARY_DEBUG, cppredis Debug版本库位置 CPPREDIS_LIBRARY_RELEASE, cppredis Release版本库位置...TACOPIE_LIBRARY_DEBUG, tacopie Debug版本库位置 TACOPIE_LIBRARY_RELEASE, tacopie Release版本库位置 FindCppRedis.cmake...会创建cppredis import target,如果是MSVC编译器,还可能会创建cppredis_mt 调用示例 # include FindCppRedis.cmake module # 将 FindCppRedis.cmake

    65120

    QT的cmake项目工程配置

    于是这里记录下QT的cmake工程配置,需要注意的是需要额外配置个项: -DCMAKE_PREFIX_PATH=D:\Qt\Qt5.10.0\5.10.0\msvc2015\lib\cmake -DCMAKE_TOOLCHAIN_FILE...=F:\vcpkg\scripts\buildsystems\vcpkg.cmake -Wno-dev 另外需要注意的是,在QT的环境可以直接运行能出来界面没问题。...CMAKE_C_COMPILER设置C编译器 CMAKE_CXX_COMPILER设置C++编译器 EXECUTABLE_OUTPUT_PATH设置编译后可执行文件目录 LIBRARY_OUTPUT_PATH...设置生成的库文件目录 常用规则 cmake_minimum_required(VERSION 3.16) 指令cmake 版本project(hello_world) 设置工程名include_directories...添加编译选项target_link_libraries()指定动态链接库install()指定make install的目录 set(XXXX YYYYYY)用于设置和修改变量 ${XXXX} 使用变量

    3.4K21

    零基础小白使用GPU云服务器(以Windows系统为例)搭建自己的深度学习环境

    NVIDIA cuDNN可以集成到更高级别的机器学习框架谷歌的Tensorflow、加州大学伯克利分校的流行caffe软件。...image.png 2.5 TensorFlow、Python、CUDA、cuDNN版本匹配 Tensorflow较Pytorch稍微复杂一点,因为它还需要Python、编译器版本支持,CPU、GPU...基于CPU版本的TensorFlow版本:TensorFlow-CPU 版本Python 版本编译器构建工具tensorflow-2.6.03.6-3.9MSVC 2019Bazel 3.7.2tensorflow...Python 版本编译器构建工具cuDNNCUDAtensorflow_gpu-2.6.03.6-3.9MSVC 2019Bazel 3.7.28.111.2tensorflow_gpu-2.5.03.6...三、安装过程介绍 3.1 显卡驱动安装 前往英伟达官网:Official Drivers | NVIDIA 选择该显卡的驱动版本,在CUDA Toolkit的下拉菜单,我们可以看到该显卡所支持的所有驱动版本

    10.9K40

    cmake:msvc编译第三方库时使用MT静态库连接cc++ runtime library

    关于在cmake生成msvc工程时静态链接c/c++运行库的问题,很久以前写过一篇博客《cmake设置msvc的运行库(runtime library)塈指定openjpeg使用静态库》。...当时的办法是在CMakeLists.txt中加一段代码将C_FLAGS_XXX,CXX_FLAGS_XXX等所有变量的/MD替换成/MT ,就这样解决了问题。...,才完全解决了我的问题: msvc默认就是使用/MD选项,在cmake,这个/MD是在初始化时就被设置的。...如下定义一个名为 compiler_flags_overrides.cmake的脚本,脚本中将_INIT后缀的所有编译器初始化变量的/MD统统改为/MT, if(MSVC) # Use...) 然后在调用cmake生成msvc工程的时候用CMAKE_USER_MAKE_RULES_OVERRIDE指定前面compiler_flags_overrides.cmake脚本的位置,就可以实现/MD

    3.7K70

    c比python快多少倍_python和c++哪个简单

    toolset:表示编译器,可选gcc、msvc-14.2(VS2019)等 link:指定生成动态链接库shared还是静态链接库static,推荐使用静态库方式编译,这样发布程序时无需连带发布Boost...address-model:指定编译版本,可选32 | 64,该参数必须和本地安装的Python位数相对应,否则会编译出错 user-config:使用的本地用户配置文件路径 补充一下编译库文件的命名格式...编译器名称及版本 mt代表threading=multi,没有则代表threading=single s代表runtime-link=static,没有则代表runtime-link=shared gd...project(Boost_Test) cmake_minimum_required(VERSION 2.8.3) if(MSVC) # set(Boost_USE_STATIC_LIBS ON) set...发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    1.9K30

    CMake 入门教程:从零开始构建 C-C++ 项目

    以下是一个简单的CMakeLists.txt文件示例: # 指定CMake版本 cmake_minimum_required(VERSION 3.10) # 指定项目名称 project(hello...) # 添加源代码文件 add_executable(hello hello.cpp) 上述代码cmake_minimum_required指定CMake的最低版本要求,project指定了项目的名称...跨平台构建 CMake支持在不同的操作系统和编译器下自动生成对应的构建文件。因此,只需要保证在不同平台上安装了相应的编译器和工具链,就可以实现跨平台构建。...) if(WIN32) set(CMAKE_CXX_COMPILER "MSVC") elseif(UNIX) set(CMAKE_CXX_COMPILER "g++") endif(...) set(CMAKE_CXX_STANDARD 11) add_executable(hello hello.cpp) 在这个示例,我们使用if语句来判断平台类型,并设置相应的编译器

    1.2K00

    xmake v2.5.9 发布,改进 C++20 模块,并支持 Nim, Keil MDK 和 Unity Build

    另外,我们对 C++20 Modules 进行了大改进,不仅支持最新 gcc-11, clang 和 msvc 编译器,而且还得模块间依赖做了自动分析,实现最大程度的并行化编译支持。...同时,对新版本的 clang/msvc 也做了更好地处理。...,我们增加了对 Lua5.3 运行时支持,而在这个版本,我们进一步升级 Lua 运行时到 5.4,相比 5.3,运行性能和内存利用率上都有很大的提升。...Keil MDK 工具链支持 我们在这个版本,还新增了 Keil/MDK 嵌入式编译工具链的支持,相关例子工程:Example xmake 会自动探测 Keil/MDK 安装的编译器,相关 issues...set_toolchains("msvc") 管理虚拟环境 我们可以使用下面的命令,把指定的虚拟环境配置全局注册到系统,方便快速切换。

    2.6K10

    log4cplus最新介绍、详细编译过程及使用(最全面)

    另外,如果需要单线程版本可通过参数-enable-threads=no指定, 否则默认将安装多线程版本。 另外需要注意的是,--enable-static这个参数是编译静态库的选项,默认是没打开的。...环境编译 在下载的源码根目录下建个build_msvc文件夹,进入该文件夹,执行: log4cplus-2.0.8\build_msvc> cmake ../  vc的工程 以上如果不指定生成的makefile...gcc工具链 若不需要vs的工程,则需额外指定生成的makefile文件类型: log4cplus-2.0.8\build_msvc>cmake ../ -G"Unix Makefiles" 但以上生成的默认是使用的...MinGW工具链 若使用MinGW编译器 ,则需指定 cmake -G "MinGW Makefiles" 生成的是MinGW Makefiles,而不是生成 MSVC 的工程文件。...若是stdcall则在cmake可尝试使用以下参数: set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--add-stdcall-alias") 经验证非此问题,那么最终原因最可能是字符集问题了

    4.1K30

    Windows下MSYS2编译OpenBLAS过程记录

    但是,CMakeLists.txt已经有警告申明,cmake支持还在实验,并不会生成与OpenBLAS自带的Makefiles相同的内容,而且只支持32位编译,而且目前版本的CMakeLists.txt...你也可以到 mingw-w64(http://www.mingw-w64.org/) 或mingw (http://www.mingw.org/)官网下载你需要的编译器版本 这里给出mingw-w64...编译 OpenBLAS 以下是MSYS2执行编译OpenBLAS的shell脚本 #!...];then exit -1;fi; # -j 选项用于指定多线程编译 # 编译OpenBLAS很耗时,多线程编译才能提高编译速度 # 如果你的MinGW编译器有make.exe,这里mingw32-...DYNAMIC_ARCH=1 指定使用动态核心模式(DYNAMIC_ARCH), DYNAMIC_ARCH是指OpenBLAS 库同时包含支持多种 cpu 核心架构的代码, OpenBLAS

    5.4K120

    披着CLion的外衣实则在讲CMake

    下面是大家可能需要进行一些配置的选项: Build type:这是程序最终编译的类型,意味着编译器该以何种程度对源代码进行优化,比如 Debug 版本一般再 gcc 对应 o2 的优化,release...是同一个目录 CMAKE_C_STANDARD :指定 C 语言的标准版本 CMAKE_CXX_STANDARD :指定 C++ 语言的标准版本 CMAKE_CXX_FLAGS :指定编译 C++ 代码时使用的编译选项...( Windows、Linux 等) CMAKE_SYSTEM_PROCESSOR :指定当前处理器的类型( x86、x86_64 等) CMAKE_CXX_COMPILER_ID :指定了当前使用的...PATHS :这个参数的效果和前面的变量类似,也是指定查找的路径。 COMPONENTS :用于指定查找的模块,模块分离在不同的文件,需要使用哪个就指定哪个模块。...VERSION:可能有很多个不同版本的包,则需要通过该参数来指定:find_package(XXX VERSION 1.2.3)。 include:从文件或模块加载并运行 CMake 代码。

    4.9K30

    《世嘉新人培训教材—游戏开发》2DGraphics1项目cmake构建

    接下来我们将创建一个cmake项目,移植该样例的两个项目。...+msvc编译器下,编码字符报错:warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。...该问题原因在于CLion的文件是默认使用的UTF-8编码,而msvc在不指定的情况默认以当前代码页(936)编码方式读取文件(代码页936(Codepage 936)是Microsoft的简体中文字符集标准...其最初版本和GB 2312一模一样,但在推出Windows 95时扩展成GBK)。 在CMake想要给msvc指定文件编码方式,需要在CMakeLists.txt配置如下内容: ... ......SET(CMAKE_CXX_STANDARD 11) # 配置编译器指定编码读取代码源文件 ADD_COMPILE_OPTIONS("$:/utf-8>"

    48740
    领券