真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

CMake指定編譯器目錄詳解-創(chuàng)新互聯(lián)

如何使CMake在系統(tǒng)PATH上使用默認(rèn)編譯器?
問(wèn)題1:
當(dāng)前,我從構(gòu)建目錄中調(diào)用CMake,如下所示::

專注于為中小企業(yè)提供網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)桐廬免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了1000+企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
CXX ="/opt/gcc-4.8/bin/g++" cmake ..

報(bào)錯(cuò)原因:
使CMake使用此特定的編譯器。 否則,它將使用操作系統(tǒng)的默認(rèn)編譯器。
提問(wèn):
我的PATH在所有其他內(nèi)容的前面都有/opt/gcc-4.8/bin。 因此,除了在環(huán)境變量前添加前綴,還可以在CMakeLists.txt文件中指定在路徑上使用默認(rèn)g++的方法嗎?
解答:
(1)手動(dòng)指定編譯目錄:

-D CMAKE_C_COMPILER=/home/gcc7/gcc-7.3.0-install/bin/gcc
-D CMAKE_CXX_COMPILER=/home/gcc7/gcc-7.3.0-install/bin/g++

(2)cmakelist文件中指定編譯目錄
(3)path環(huán)境變量指定

// 此方法將環(huán)境變量配置在了PATH的最前面
export PATH=/home/gcc7/gcc-7.3.0-install/bin:$PATH

CMake支持PATH環(huán)境變量的設(shè)置,但優(yōu)先使用通用編譯器名稱cc和c++。 要確定CMake在UNIX下默認(rèn)使用哪個(gè)C編譯器,請(qǐng)運(yùn)行:
which cc
要確定默認(rèn)的C ++編譯器,請(qǐng)運(yùn)行:
which c++
如果在/opt/gcc-4.8/bin中生成指向/opt/gcc-4.8/bin/g++的符號(hào)鏈接c++,則CMake默認(rèn)情況下應(yīng)使用GCC 4.8
問(wèn)題2:
cc而不是c++的位置確定將使用哪個(gè)c++進(jìn)行cmake。
例:
如果您有/usr/local/bin/c++但cc編譯環(huán)境目錄為/usr/bin/cc,cmake仍會(huì)拾取/usr/bin/c++,而不是/usr/local/bin/c++。
解答:
(1)在這種情況下,在/usr/bin/cc處創(chuàng)建指向/usr/local/bin/gcc的符號(hào)鏈接將使cmake使用/usr/local/bin/c++。
(2)
另一種方法是將項(xiàng)目的語(yǔ)言顯式設(shè)置為C ++:

project(foo CXX)

(3)

project(foo CXX C)

將優(yōu)先使用C++編譯器來(lái)編譯
問(wèn)題3:
當(dāng)運(yùn)行使用cmake的構(gòu)建腳本時(shí),我在構(gòu)建過(guò)程中得到了以下輸出:

[vcvarsall.bat] Environment initialized for: 'x64'
-- The C compiler identification is MSVC 19.27.29112.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/VC/Tools/MSVC/14.27.29110/bin/Hostx64/x64/cl.exe - skipped

我在另一個(gè)thread中看到這不是一個(gè)錯(cuò)誤,我的代碼繼續(xù)編譯,直到出現(xiàn)不同的錯(cuò)誤,但是為什么輸出會(huì)被“跳過(guò)”而不是“工作”?
解答:
這在較新的CMake版本中是正常的,因?yàn)闀?huì)跳過(guò)測(cè)試,因?yàn)橐阎幾g器可以工作,因?yàn)樗軌虼_定ABI。
請(qǐng)參閱https://gitlab.kitware.com/cmake/cmake/-/merge_requests/4789

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧


網(wǎng)站題目:CMake指定編譯器目錄詳解-創(chuàng)新互聯(lián)
本文URL:http://weahome.cn/article/shdhp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部