wap手機百度seo排名工具
conan和cmake編譯器版本不匹配問題解決
- 1 問題現(xiàn)象
- 2 解決方法
- 2.1 在CMakeLists.txt禁止編譯器檢查
- 2.1.1 修改方式
- 2.2 探查問題出現(xiàn)的根本原因
- 2.2.1 安裝升級gcc
- 2.2.2 安裝升級g++
- 注
執(zhí)行環(huán)境:ubuntu
1 問題現(xiàn)象
conan要求的編譯器版本和cmake檢測到的當前的編譯器版本不一致,導(dǎo)致編譯失敗。
Compiler version specified in your conan profile: 10
Compiler version detected in CMake: 9.4
CMake Error at /home/test/out/x64_Release/build/conanbuildinfo.cmake:1742 (message):Detected a mismatch for the compiler version between your conan profilesettings and CMake:Compiler version specified in your conan profile: 10Compiler version detected in CMake: 9.4Please check your conan profile settings (conan profile show[default|your_profile_name])P.S. You may set CONAN_DISABLE_CHECK_COMPILER CMake variable in order todisable this check.
2 解決方法
2.1 在CMakeLists.txt禁止編譯器檢查
在源代碼頂層的CMakeLists.txt
里添加禁止編譯器檢查的設(shè)置,這樣可以避免由于conan
要求的編譯器版本和cmake
檢測到的版本不一致而導(dǎo)致失敗。但是這種方式是一種不提倡的方式。
2.1.1 修改方式
set(CONAN_DISABLE_CHECK_COMPILER ON)
2.2 探查問題出現(xiàn)的根本原因
既然cmake檢測到的編譯器版本和conan要求的不一致,那說明當前系統(tǒng)的配置還是存在一些問題。
在檢查gcc和g++的時候發(fā)現(xiàn)當前系統(tǒng)存在gcc-9以及g+±9,而這兩個編譯器對應(yīng)的版本整好為9.4。這說明當前的gcc的配置可能還是指向了低版本的gcc-9/g+±9
2.2.1 安裝升級gcc
sudo apt install gcc-10
安裝conan要求的gcc-10版本的編譯器sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 10
當系統(tǒng)需要使用gcc時,默認選擇gcc-10版本,gcc指向當前系統(tǒng)已經(jīng)安裝的gcc-10
sudo apt update
sudo apt install gcc-10
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 10
2.2.2 安裝升級g++
sudo apt install g++-10
安裝conan要求的g+±10版本的編譯器sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-10 10
當系統(tǒng)需要使用g++時,默認選擇g+±10版本,g++指向當前系統(tǒng)已經(jīng)安裝的g+±10
sudo apt install g++-10
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-10 10
注
當按照以上處理執(zhí)行完成后,可以通過gcc --version查看當前的gcc信息。
若需要切換gcc版本,則可以通過2.2.1
以及2.2.2
的方法去處理。