国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

CMake I 獲取/設(shè)置編譯器

這篇具有很好參考價(jià)值的文章主要介紹了CMake I 獲取/設(shè)置編譯器。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

目錄

一、獲取編譯器信息

1.與編譯器交互

(1)CMake變量

(2)CMakeLists.txt

二、設(shè)置編譯器


一、獲取編譯器信息

????????Microsoft Windows上,如果cmake生成器是Visual Studio,將選擇Visual Studio中 的 C++ 和 C 編譯器。

CMake提供 --system-information 標(biāo)志,它將把關(guān)于系統(tǒng)的所有信息轉(zhuǎn)儲(chǔ)到屏幕或文件中:

cmake --system-information information.txt

information.txt部分信息如下,可以看到CMAKE_CXX_COMPILER和CMAKE_C_COMPILER的默認(rèn)值。

CMake I 獲取/設(shè)置編譯器

1.與編譯器交互

(1)CMake變量

CMake提供了額外的變量來與編譯器交互:

  • CMAKE_<LANG>_COMPILER_LOADED:如果為項(xiàng)目啟用了語言<LANG>,則將設(shè)置為 TRUE 。
  • CMAKE_<LANG>_COMPILER_ID:編譯器標(biāo)識(shí)字符串,編譯器供應(yīng)商所特有。例如, GCC 用于 GNU編譯器集合, AppleClang 用于macOS上的Clang,MSVC 用于Microsoft Visual Studio編譯器。注意,不能保證為所有編譯器或語言定義此變量。
  • CMAKE_COMPILER_IS_GNU:如果語言<LANG>是GNU編譯器集合的一部分,則將此邏輯變量設(shè)置為 TRUE 。注意變量名的<LANG>部分遵循GNU約定:C語言為 CC , C++語言為 CXX , Fortran語言為 G77 。
  • CMAKE_<LANG>_COMPILER_VERSION:此變量包含一個(gè)字符串,該字符串給定語言的編譯器版本。版本信息在 major[.minor[.patch[.tweak]]] 中給出。注意,不能保證所有編譯器或語言都定義了此變量。

(2)CMakeLists.txt

cmake_minimum_required(VERSION 3.5 FATAL_ERROR)
project(getinfo)

message(STATUS "is the C++ compiler loaded? ${CMAKE_CXX_COMPILER_LOADED}")
if(CMAKE_CXX_COMPILER_LOADED)
	message(STATUS "C++ compiler id: ${CMAKE_CXX_COMPILER_ID}")
	if(CMAKE_COMPILER_IS_GNUCXX)
		message(">CMAKE_COMPILER_IS_GNUCXX")
	else()
		message(">CMAKE_COMPILER_IS_NOT_GNUCXX")
	endif()	
	message(STATUS "C++ compiler version is: ${CMAKE_CXX_COMPILER_VERSION}")
endif()

message(STATUS "is the C compiler loaded? ${CMAKE_C_COMPILER_LOADED}")
if(CMAKE_C_COMPILER_LOADED)
	message(STATUS "C compiler id: ${CMAKE_C_COMPILER_ID}")
	if(CMAKE_COMPILER_IS_GNUCC)
		message(">CMAKE_COMPILER_IS_GNUCC")
	else()
		message(">CMAKE_COMPILER_IS_NOT_GNUCC")
	endif()	
	message(STATUS "C compiler version is: ${CMAKE_C_COMPILER_VERSION}")
endif()

配置輸出:

CMake I 獲取/設(shè)置編譯器

二、設(shè)置編譯器

????????CMake將語言的編譯器存儲(chǔ)在 CMAKE_<LANG>_COMPILER 變量中,其中<LANG>是受支持的任何一種語言,比如?CXX 、 C 或 Fortran 。用戶可以通過以下兩種方式之一設(shè)置此變量(配置時(shí),CMake會(huì)進(jìn)行一系列平臺(tái)測(cè)試,以確定哪些編譯器可用,以及它們是否適合當(dāng)前的項(xiàng)目,一個(gè)合適的編譯器不僅取決于我們所使用的平臺(tái),還取決于我們想要使用的生成器。

1. 使用CLI中的 -D 選項(xiàng)(推薦使用)

> cmake -D CMAKE_CXX_COMPILER=clang++ ..

2. 通過導(dǎo)出環(huán)境變量 CXX (C++編譯器)、 CC (C編譯器)和 FC (Fortran編譯器)。文章來源地址http://www.zghlxwxcb.cn/news/detail-438847.html

#使用這個(gè)命令使用 clang++ 作為 C++ 編譯器
> env CXX=clang++ cmake ..

到了這里,關(guān)于CMake I 獲取/設(shè)置編譯器的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • python在線編譯器搭建,python在線編譯器源碼

    python在線編譯器搭建,python在線編譯器源碼

    本篇文章給大家談?wù)刾ython在線編譯器搭建,以及python在線編譯器源碼,希望對(duì)各位有所幫助,不要忘了收藏本站喔。 1. PyCharm集成開發(fā)環(huán)境 2. PyCharm的下載與安裝 3. Pycharm的使用 3.1 創(chuàng)建Python項(xiàng)目 3.2 創(chuàng)建子目錄 3.3 創(chuàng)建Python文件 3.4 切換解釋器 3.5 常用快捷鍵 4. Pycharm常用配置

    2024年03月25日
    瀏覽(24)
  • 編譯器(Compiler)及C/C++編譯器安裝(c+安裝)

    編譯器(Compiler)及C/C++編譯器安裝(c+安裝)

    目錄 一、常用編程語言的編譯器(compiler) 概述 二、GCC、MinGW、MinGW-w64 、TDM-GCC、Cygwin、MSYS、MSYS2的區(qū)別 三、MinGW-w64編譯器套件下載及安裝 四、MinGW-w64安裝后,windows環(huán)境變量配置(設(shè)置) 五、編譯器的運(yùn)行及其與開發(fā)環(huán)境的關(guān)系、編譯器的來源 ? ? ? ?機(jī)器語言是一種計(jì)算機(jī)指

    2024年02月07日
    瀏覽(28)
  • 探索Kotlin K2編譯器和Java編譯器的功能和能力

    文章首發(fā)地址 Kotlin K2編譯器是Kotlin語言的編譯器,負(fù)責(zé)將Kotlin源代碼轉(zhuǎn)換為Java字節(jié)碼或者其他目標(biāo)平臺(tái)的代碼。K2編譯器是Kotlin語言的核心組件之一,它的主要功能是將Kotlin代碼編譯為可在JVM上運(yùn)行的字節(jié)碼。 編譯過程: Kotlin K2編譯器將Kotlin源代碼作為輸入,并經(jīng)過詞法分

    2024年02月11日
    瀏覽(23)
  • 前端框架編譯器之模板編譯

    前端框架編譯器之模板編譯

    編譯原理:是計(jì)算機(jī)科學(xué)的一個(gè)分支,研究如何將 高級(jí)程序語言 轉(zhuǎn)換為 計(jì)算機(jī)可執(zhí)行的目標(biāo)代碼 的技術(shù)和理論。 高級(jí)程序語言:Python、Java、JavaScript、TypeScript、C、C++、Go 等。 計(jì)算機(jī)可執(zhí)行的目標(biāo)代碼:機(jī)器碼、匯編語言、字節(jié)碼、目標(biāo)代碼等。 編譯器 (Compiler):是一種將

    2024年04月28日
    瀏覽(25)
  • 【C語言】--編譯及編譯器

    【C語言】--編譯及編譯器

    夫?qū)W須靜也,才須學(xué)也;非學(xué)無以廣才,非志無以成學(xué) 個(gè)人主頁:【??個(gè)人主頁】 系列專欄:【??系列專欄】 C語言一直以來都是初入編程的小白們的必修課,作為程序員必學(xué)語言之一,C語言自然有屬于它的奧秘,接下來就由我來帶領(lǐng)大家走進(jìn)C語言的世界吧?????? 1、

    2024年02月13日
    瀏覽(27)
  • 編譯原理課程設(shè)計(jì)--C語言編譯器

    編譯原理課程設(shè)計(jì)--C語言編譯器

    源程序1: 源程序1詞法分析結(jié)果: 與程序1語法分析結(jié)果(部分) 源程序1四元式: 源程序1優(yōu)化后的四元式: action-goto表(部分) 文件目錄: (1)掌握語義分析過程,即語法制導(dǎo)翻譯過程。 (2)在語法分析的LR分析程序中的基礎(chǔ)上添加程序,進(jìn)行語義分析,生成源程序的四

    2024年02月08日
    瀏覽(30)
  • openharmony 編譯LLVM編譯器基礎(chǔ)架構(gòu)

    third_party_llvm-project: 管理員 liwentao_uiw dhy308 huanghuijin (1) 缺少依賴,一次安裝好幾個(gè)依賴 (2) case in的語法識(shí)別不了 實(shí)際上case in是沒有問題的,主要是結(jié)尾需要改成Unix結(jié)尾

    2024年01月19日
    瀏覽(31)
  • 【Linux工具】編譯器、調(diào)式器、項(xiàng)目自動(dòng)化構(gòu)建工具以及git的使用(1編譯器)

    【Linux工具】編譯器、調(diào)式器、項(xiàng)目自動(dòng)化構(gòu)建工具以及git的使用(1編譯器)

    作者:愛寫代碼的剛子 時(shí)間:2023.6.3 本篇博客主要詳細(xì)介紹Linux中十分重要的工具:編譯器,靈活使用這些工具是Linux中一項(xiàng)必備技能。項(xiàng)目自動(dòng)化構(gòu)建工具、調(diào)式器、git工具會(huì)在下一篇博客中進(jìn)行介紹。 Linux編譯器-gcc/g++使用 gcc編譯C語言: g++編譯C++: gcc只能編譯C語言,而

    2024年02月09日
    瀏覽(22)
  • 【linux】編譯器使用

    【linux】編譯器使用

    目錄 1. gcc ,g++ 編譯器使用 a. 有關(guān)gcc的指令(g++同理) 2. .o 文件和庫的鏈接方式 a. 鏈接方式 b. 動(dòng)態(tài)庫 和 靜態(tài)庫 優(yōu)缺點(diǎn)對(duì)比 c. debug 版本 和 release 版本 注意: linux下自帶gcc編譯器,如果要安裝g++編譯器; sudo yum install -y gcc-g++ (普通用戶) gcc + 文件名 得到可執(zhí)行文件 gcc + 文

    2024年04月26日
    瀏覽(28)
  • 提速Rust編譯器!

    提速Rust編譯器!

    Nethercote是一位研究Rust編譯器的軟件工程師。最近,他正在探索如何提升Rust編譯器的性能,在他的博客文章中介紹了Rust編譯器是如何將代碼分割成代碼生成單元(CGU)的以及rustc的性能加速。 他解釋了不同數(shù)量和大小的CGU之間的權(quán)衡以及Rustc是如何使用LLVM并行化代碼生成和優(yōu)

    2024年02月13日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包