CMake 使用--指定C/C++编译器、安装路径及撤销cmake install

本文介绍了如何在CMake中指定C/C++编译器,包括两种设置方法,并详细说明了如何指定安装路径,以及在需要时撤销`cmake install`操作。内容涵盖环境变量设定、`CMAKE_INSTALL_PREFIX`的使用以及安装后的撤销步骤。

本文主要记录平时在开发过程中搭建各种环境需要用到的cmake工具, 其中涉及到如何指定不同版本编译器,以及常用的指定安装路径。

指定编译器

  • 方式一

在执行cmake之前导出两个环境变量即可。

# 指定C编译器
export CC=/home/GCC10.0/bin/gcc
# 指定C++编译器
export CXX=/home/GCC10.0/bin/g++

# 或者直接设置
CC=/home/GCC10.0/bin/gcc  cmake ..
  • 方式二
# 设置两个变量
# 变量1: CMAKE_C_COMPILER  用来设置C编译器
# 变量2:CMAKE_CXX_COMPILER 用来设置C++编译器
set(CMAKE_C_COMPILER "/home/GCC10.0/bin/gcc")
set(CMAKE_CXX_COMPILER "/home/GCC10.0/bin/g++")


注意设置这个两个变量的时机,在第一次构建目录生成cmake中间文件时, 还未编译时, 仅仅是检测环境生成配置时。 这两个变量设置有效, 之后将无效, 即使设置环境变量CCCXX

指定安装路径

  • 检测环境依赖生成配置时指定CMAKE_INSTALL_PREFIX

    通常若不指定, 将自动安装到/usr/local

# 比如 在CMakefile.txt下创建了一个build文件
cd build
cmake -DCMAKE_INSTALL_PREFIX=/home/install ..
  • 编译完成后,安装时指定
make DESTDIR=/home/install install

撤销cmake install

  • cmake 方式安装撤销
cat install_manifest.txt | sudo xargs rm
  • make 方式安装卸载
sudo make uninstall

参考链接:

  1. https://gitlab.kitware.com/cmake/community/-/wikis/doc/cmake/Useful-Variables
  2. https://stackoverflow.com/questions/13851830/cmake-doesnt-honour-d-cmake-cxx-compiler-g
make PythonAPI Util/BuildTools/Linux.mk:163: 警告:覆盖关于目标“downloadplugins”的配方 Util/BuildTools/Linux.mk:142: 警告:忽略关于目标“downloadplugins”的旧配方 Setup.sh: boost-1.80.0-c10 already installed. Setup.sh: rpclib-v2.2.1_c5-c10 already installed. Setup.sh: Retrieving Google Test. 正克隆到 'gtest-1.8.1-c10-source'... remote: Enumerating objects: 369, done. remote: Counting objects: 100% (369/369), done. remote: Compressing objects: 100% (320/320), done. remote: Total 369 (delta 122), reused 88 (delta 37), pack-reused 0 (from 0) 接收对象中: 100% (369/369), 1.06 MiB | 1.57 MiB/s, 完成. 处理 delta 中: 100% (122/122), 完成. 注意:正在切换到 '2fe3bd994b3189899d93f1d5a881e725e046fdc2'。 您正处于分离头指针状态。您可以查看、做试验性的修改及提交,并且您可以在切换 回一个分支时,丢弃在此状态下所做的提交而不对分支造成影响。 如果您想要通过创建分支来保留在此状态下所做的提交,您可以通过在 switch 命令 中添加参数 -c 来实现(现在或稍后)。例如: git switch -c <新分支名> 或者撤销此操作: git switch - 通过将配置变量 advice.detachedHead 设置为 false 来关闭此建议 Setup.sh: Building Google Test with libc++. CMake Error at /usr/share/cmake-3.16/Modules/CMakeDetermineCCompiler.cmake:49 (message): Could not find compiler set in environment variable CC: /Engine/Extras/ThirdPartyNotUE/SDKs/HostLinux/Linux_x64/v17_clang-10.0.1-centos7/x86_64-unknown-linux-gnu/bin/clang. Call Stack (most recent call first): CMakeLists.txt:7 (project) CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage -- Configuring incomplete, errors occurred! See also "/home/mec/carla/Build/gtest-1.8.1-c10-libcxx-build/CMakeFiles/CMakeOutput.log". make: *** [Util/BuildTools/Linux.mk:142:setup] 错误 1
最新发布
06-24
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值