青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Error

C++博客 首頁(yè) 新隨筆 聯(lián)系 聚合 管理
  217 Posts :: 61 Stories :: 32 Comments :: 0 Trackbacks

使用CMake GCC和Clang的/ LLVM之間切換

cmake llvm clang
我公司擁有一批項(xiàng)目的CMake的,我希望能夠方便地切換GCC或鐺/ LLVM他們。我相信(請(qǐng)如果我錯(cuò)了!)表示鏘我需要進(jìn)行如下設(shè)置:
 SET (CMAKE_C_COMPILER    "/usr/bin/clang")  SET (CMAKE_C_FLAGS    "-Wall -std=c99")  SET (CMAKE_C_FLAGS_DEBUG   "-g")  SET (CMAKE_C_FLAGS_MINSIZEREL  "-Os -DNDEBUG")  SET (CMAKE_C_FLAGS_RELEASE  "-O4 -DNDEBUG")  SET (CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -g")  SET (CMAKE_CXX_COMPILER    "/usr/bin/clang++")  SET (CMAKE_CXX_FLAGS    "-Wall")  SET (CMAKE_CXX_FLAGS_DEBUG   "-g")  SET (CMAKE_CXX_FLAGS_MINSIZEREL  "-Os -DNDEBUG")  SET (CMAKE_CXX_FLAGS_RELEASE  "-O4 -DNDEBUG")  SET (CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g")  SET (CMAKE_AR  "/usr/bin/llvm-ar")  SET (CMAKE_LINKER "/usr/bin/llvm-ld")  SET (CMAKE_NM  "/usr/bin/llvm-nm")  SET (CMAKE_OBJDUMP "/usr/bin/llvm-objdump")  SET (CMAKE_RANLIB "/usr/bin/llvm-ranlib") 
是否有這些和默認(rèn)的GCC變量之間的切換,最好是全系統(tǒng)的變化,而不是具體的項(xiàng)目(即不只是將它們添加到項(xiàng)目的的CMakeLists.txt)一個(gè)簡(jiǎn)單的方法? 另外,是否有必要的llvm-*節(jié)目鐺的gcc時(shí)代替,而不是系統(tǒng)默認(rèn)值?有什么區(qū)別?
本文地址 :CodeGo.net/340772/ 
------------------------------------------------------------------------------------------------------------------------- 
1. CMake的榮譽(yù)的變量CCCXX在檢測(cè)到C和C ++編譯器
$ export CC=/usr/bin/clang $ export CXX=/usr/bin/clang++ $ cmake .. -- The C compiler identification is Clang -- The CXX compiler identification is Clang 
具體標(biāo)志可以通過(guò)將它們放入一個(gè)系統(tǒng)范圍的CMake文件并指向CMAKE_USER_MAKE_RULES_OVERRIDE變量,它被覆蓋。創(chuàng)建一個(gè)文件~/ClangOverrides.txt其內(nèi)容如下:
SET (CMAKE_C_FLAGS_INIT    "-Wall -std=c99") SET (CMAKE_C_FLAGS_DEBUG_INIT   "-g") SET (CMAKE_C_FLAGS_MINSIZEREL_INIT  "-Os -DNDEBUG") SET (CMAKE_C_FLAGS_RELEASE_INIT  "-O4 -DNDEBUG") SET (CMAKE_C_FLAGS_RELWITHDEBINFO_INIT "-O2 -g") SET (CMAKE_CXX_FLAGS_INIT    "-Wall") SET (CMAKE_CXX_FLAGS_DEBUG_INIT   "-g") SET (CMAKE_CXX_FLAGS_MINSIZEREL_INIT  "-Os -DNDEBUG") SET (CMAKE_CXX_FLAGS_RELEASE_INIT  "-O4 -DNDEBUG") SET (CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "-O2 -g") 
后綴_init會(huì)讓CMake的初始化相應(yīng)的*_FLAGS變量與給定的值。然后調(diào)用cmake的以下面的方式:
$ cmake -DCMAKE_USER_MAKE_RULES_OVERRIDE=~/ClangOverrides.txt .. 
終于到了LLVM的binutils力,設(shè)置內(nèi)部變量_CMAKE_TOOLCHAIN_PREFIX。這個(gè)變量是由榮幸CMakeFindBinUtils模塊:
$ cmake -D_CMAKE_TOOLCHAIN_PREFIX=llvm- .. 
把這個(gè)放在一起你可以寫一個(gè)shell包裝它設(shè)置了變量CCCXX然后調(diào)用cmake的可變覆蓋。 
2. 全系統(tǒng)的C ++的變化對(duì)Ubuntu的: sudo用update-alternatives-配置C ++ 將打印是這樣的:
 Selection Path    Priority Status ------------------------------------------------------------ * 0   /usr/bin/g++  20  auto mode  1   /usr/bin/clang++ 10  manual mode  2   /usr/bin/g++  20  manual mode 
然后,只需選擇鐺++。 
3. 你的
option(USE_CLANG "build application with clang" OFF) # OFF is the default 
然后在包裹如果()S中的設(shè)置:
if(USE_CLANG)  SET (...)  .... endif(USE_CLANG) 
這樣,它會(huì)顯示為在GUI配置工具的cmake的選項(xiàng)。 為了讓您在整個(gè)系統(tǒng)可以在變量的默認(rèn)值或保持與答案。 
4. 你絕對(duì)不需要不同的LLVM-AR等程序:
SET (CMAKE_AR  "/usr/bin/llvm-ar") SET (CMAKE_LINKER "/usr/bin/llvm-ld") SET (CMAKE_NM  "/usr/bin/llvm-nm") SET (CMAKE_OBJDUMP "/usr/bin/llvm-objdump") SET (CMAKE_RANLIB "/usr/bin/llvm-ranlib") 
這些都是為了工作,對(duì)LLVM內(nèi)部格式,因此阿仁'到您的應(yīng)用程序的生成。 作為一個(gè)說(shuō)明 CodeGo.net,O4將在你的程序調(diào)用的LTO,你可能不希望(這樣會(huì)大大)和鐺默認(rèn)為C99模式,使標(biāo)志不是必需的兩種。 
5. 你的語(yǔ)法:$ENV{environment-variable}在你的CMakeLists.txt訪問(wèn)變量。你可以適當(dāng)?shù)貏?chuàng)建一個(gè)初始化的變量集的腳本,只是在引用這些變量的CMakeLists.txt文件。
posted on 2015-08-20 11:52 Enic 閱讀(1455) 評(píng)論(0)  編輯 收藏 引用 所屬分類: linux
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产欧美精品一区二区色综合| 欧美高清视频免费观看| 亚洲精品国久久99热| 久久久精品tv| 亚洲欧美精品在线| 亚洲精品你懂的| 在线观看欧美日本| 国产欧美日韩在线观看| 欧美视频日韩视频| 欧美精品在线免费| 欧美99在线视频观看| 久久精品免费| 久久精品成人一区二区三区| 亚洲免费人成在线视频观看| av成人福利| 日韩天堂av| 亚洲免费黄色| 亚洲精品视频免费观看| 欧美激情一区二区三区| 麻豆精品在线观看| 久久伊人一区二区| 久久综合色一综合色88| 久久久www成人免费无遮挡大片 | 久久黄色网页| 小嫩嫩精品导航| 午夜视频一区在线观看| 性做久久久久久久久| 午夜国产精品影院在线观看| 亚洲欧美激情在线视频| 亚洲欧美日韩在线一区| 午夜视频一区| 欧美一区二区三区在线| 久久精品官网| 裸体丰满少妇做受久久99精品| 久久综合色8888| 欧美sm极限捆绑bd| 欧美成人免费大片| 欧美黄色影院| 欧美午夜a级限制福利片| 国产精品videossex久久发布| 欧美天堂亚洲电影院在线播放| 欧美天堂亚洲电影院在线观看| 国产精品成人一区二区三区夜夜夜| 欧美视频一二三区| 国产精品一区二区三区久久久| 国产视频欧美| 影院欧美亚洲| 亚洲精品专区| 亚洲综合国产| 久久久国产午夜精品| 欧美aⅴ一区二区三区视频| 亚洲国产精品v| 一本色道久久88综合日韩精品| 亚洲一区二区三区免费视频| 午夜亚洲福利| 免费在线成人| 欧美性猛交xxxx乱大交蜜桃| 国产伦精品一区二区三区照片91| 国产综合视频在线观看| 亚洲激情在线激情| 亚洲一区二区三区免费观看| 久久9热精品视频| 欧美成人精品| 一区二区三区免费看| 欧美一级久久| 欧美成人午夜免费视在线看片| 欧美日韩另类视频| 国模套图日韩精品一区二区| 亚洲国产毛片完整版 | 欧美日韩国产一区| 国产欧美日韩91| 亚洲国产婷婷综合在线精品| 亚洲一区二区免费看| 久久青青草原一区二区| 亚洲伦理网站| 久久精品一区二区三区不卡牛牛| 欧美日本一区二区视频在线观看 | 午夜精品国产精品大乳美女| 牛夜精品久久久久久久99黑人 | 欧美精品免费视频| 国产一区二区三区四区三区四| 亚洲精品一区二区三区av| 欧美在线黄色| 日韩视频免费| 老司机一区二区| 国产免费观看久久黄| 亚洲精品在线免费观看视频| 欧美在线视频全部完| 亚洲精品一区二区在线| 久久久久网址| 国产精品欧美日韩一区二区| 亚洲人成亚洲人成在线观看图片 | 亚洲精品综合| 久久人人爽爽爽人久久久| 国产精品自拍在线| 中文成人激情娱乐网| 欧美国产一区在线| 久久精品国产综合| 国产精品影片在线观看| 一个人看的www久久| 美女国产一区| 欧美一区二视频| 国产精品亚洲第一区在线暖暖韩国| 亚洲美女毛片| 欧美国内亚洲| 久久深夜福利免费观看| 国产三区精品| 欧美一区二区三区在线观看视频| 亚洲精品日产精品乱码不卡| 美日韩精品视频| 在线观看精品| 久久亚洲综合网| 欧美尤物一区| 国产一区 二区 三区一级| 亚洲欧美久久久| 在线亚洲欧美视频| 欧美午夜片在线观看| 亚洲视频在线一区| 日韩视频在线一区| 欧美日韩aaaaa| 一本色道久久综合亚洲精品不| 欧美激情一区二区久久久| 久久综合色天天久久综合图片| 激情欧美一区| 狂野欧美一区| 久久久久中文| 亚洲国产一区二区a毛片| 麻豆久久婷婷| 免费欧美日韩国产三级电影| 亚洲国产视频直播| 亚洲黄色免费| 欧美日韩和欧美的一区二区| 在线亚洲国产精品网站| av成人动漫| 国产欧美精品| 久久久夜色精品亚洲| 久久久伊人欧美| 亚洲国产欧美不卡在线观看| 亚洲高清在线视频| 欧美日韩高清一区| 亚洲欧洲av一区二区| 欧美一级午夜免费电影| 一区二区自拍| 亚洲国产日韩一级| 国产精品xvideos88| 久久av最新网址| 久久视频在线视频| 日韩视频在线观看国产| 亚洲视频第一页| 国产在线视频欧美| 亚洲电影免费在线观看| 欧美三级视频| 久久久久国产精品人| 麻豆精品在线播放| 亚洲午夜成aⅴ人片| 欧美一区二区视频观看视频| 亚洲国产高清在线| 一区二区免费看| 激情久久久久久久| 亚洲精品久久嫩草网站秘色| 国产精品五月天| 欧美成人精品在线播放| 欧美日韩国产小视频| 久久精品视频在线免费观看| 欧美fxxxxxx另类| 先锋影音国产一区| 免费短视频成人日韩| 亚洲欧美成人综合| 久久综合影音| 午夜精品影院| 欧美不卡视频一区发布| 欧美一区二区三区男人的天堂| 蜜臀av性久久久久蜜臀aⅴ| 亚洲在线1234| 久久久久久网址| 亚洲欧美清纯在线制服| 免费成人美女女| 欧美有码在线视频| 欧美精品日韩一本| 久久久噜噜噜久久中文字免| 欧美日韩国产精品成人| 久久综合激情| 国产精品实拍| 亚洲精品乱码久久久久久按摩观| 国产有码在线一区二区视频| 亚洲免费av电影| 亚洲国产精品成人综合色在线婷婷| 亚洲网友自拍| 99精品欧美一区| 久久亚洲精品网站| 久久se精品一区精品二区| 欧美成人免费在线观看| 久久蜜桃香蕉精品一区二区三区| 欧美性大战xxxxx久久久| 亚洲高清资源| 亚洲高清视频中文字幕| 欧美一区二区三区在线观看视频| 亚洲在线视频| 欧美日韩国产一区二区三区地区 | 亚洲日本电影|