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

Error

C++博客 首頁 新隨筆 聯系 聚合 管理
  217 Posts :: 61 Stories :: 32 Comments :: 0 Trackbacks

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

cmake llvm clang
我公司擁有一批項目的CMake的,我希望能夠方便地切換GCC或鐺/ LLVM他們。我相信(請如果我錯了!)表示鏘我需要進行如下設置:
 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") 
是否有這些和默認的GCC變量之間的切換,最好是全系統的變化,而不是具體的項目(即不只是將它們添加到項目的的CMakeLists.txt)一個簡單的方法? 另外,是否有必要的llvm-*節目鐺的gcc時代替,而不是系統默認值?有什么區別?
本文地址 :CodeGo.net/340772/ 
------------------------------------------------------------------------------------------------------------------------- 
1. CMake的榮譽的變量CCCXX在檢測到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 
具體標志可以通過將它們放入一個系統范圍的CMake文件并指向CMAKE_USER_MAKE_RULES_OVERRIDE變量,它被覆蓋。創建一個文件~/ClangOverrides.txt其內容如下:
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會讓CMake的初始化相應的*_FLAGS變量與給定的值。然后調用cmake的以下面的方式:
$ cmake -DCMAKE_USER_MAKE_RULES_OVERRIDE=~/ClangOverrides.txt .. 
終于到了LLVM的binutils力,設置內部變量_CMAKE_TOOLCHAIN_PREFIX。這個變量是由榮幸CMakeFindBinUtils模塊:
$ cmake -D_CMAKE_TOOLCHAIN_PREFIX=llvm- .. 
把這個放在一起你可以寫一個shell包裝它設置了變量CCCXX然后調用cmake的可變覆蓋。 
2. 全系統的C ++的變化對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中的設置:
if(USE_CLANG)  SET (...)  .... endif(USE_CLANG) 
這樣,它會顯示為在GUI配置工具的cmake的選項。 為了讓您在整個系統可以在變量的默認值或保持與答案。 
4. 你絕對不需要不同的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") 
這些都是為了工作,對LLVM內部格式,因此阿仁'到您的應用程序的生成。 作為一個說明 CodeGo.net,O4將在你的程序調用的LTO,你可能不希望(這樣會大大)和鐺默認為C99模式,使標志不是必需的兩種。 
5. 你的語法:$ENV{environment-variable}在你的CMakeLists.txt訪問變量。你可以適當地創建一個初始化的變量集的腳本,只是在引用這些變量的CMakeLists.txt文件。
posted on 2015-08-20 11:52 Enic 閱讀(1445) 評論(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>
            欧美成人情趣视频| 亚洲欧洲三级电影| 欧美国产综合视频| 亚洲国内精品在线| 欧美日本国产一区| 久久激情五月丁香伊人| 亚洲三级免费| 国产日韩欧美二区| 欧美激情在线有限公司| 免费永久网站黄欧美| 日韩网站免费观看| 国产一区二区三区的电影| 国产一在线精品一区在线观看| 亚洲午夜精品网| 国产精品一区一区| 久久精品五月| 一本不卡影院| 欧美成人免费视频| 久久精品免费播放| 亚洲欧美美女| 尤物九九久久国产精品的分类| 欧美剧在线观看| 欧美一区二区视频97| 99伊人成综合| 亚洲国产99精品国自产| 欧美在线一二三四区| 一区二区日韩伦理片| 亚洲精选视频免费看| 亚洲激情午夜| 亚洲第一页中文字幕| 国产一区二区三区久久| 欧美日本一区二区视频在线观看| 蜜桃av噜噜一区| 久久久亚洲一区| 最新成人在线| 欧美成人午夜激情| 欧美成人精品一区二区三区| 一区二区亚洲精品国产| 欧美日韩精品一区二区| 亚洲精品1区2区| 欧美激情一区二区三区不卡| 99日韩精品| 亚洲综合国产激情另类一区| 亚洲激情在线播放| 欧美电影在线观看完整版| 欧美在线www| 欧美一区二区三区在线免费观看| 一区二区三区国产在线| 亚洲精品视频在线播放| 国内成人在线| 国内一区二区三区| 久久免费视频一区| 欧美成人福利视频| 欧美成人视屏| 欧美视频中文在线看| 日韩一区二区精品在线观看| 99国产麻豆精品| 亚洲破处大片| 一区二区三区三区在线| 一本久道综合久久精品| 国精品一区二区| 黄色国产精品| 欧美日韩黄色一区二区| 欧美日韩亚洲国产一区| 欧美久久婷婷综合色| 欧美午夜免费影院| 亚洲伦理中文字幕| 久久国产精品久久w女人spa| 亚洲黄色成人| 狂野欧美性猛交xxxx巴西| 99亚洲一区二区| 欧美日韩精品系列| 中文无字幕一区二区三区| 亚洲精品视频免费在线观看| 欧美日韩国产精品一区| 亚洲网址在线| 亚洲午夜精品久久久久久浪潮 | 亚洲高清电影| 久久久人成影片一区二区三区观看| 国产亚洲一区二区三区在线播放| 久久久久久999| 久久免费视频在线观看| 亚洲福利视频网| 最新国产精品拍自在线播放| 欧美午夜欧美| 久久久999| 免费人成网站在线观看欧美高清| 亚洲精品一区二区三区在线观看| 亚洲乱码国产乱码精品精| 国产精品国产三级国产普通话99| 欧美中文字幕在线观看| 美女视频黄 久久| 亚洲午夜一区| 久久久国产精品一区| 亚洲蜜桃精久久久久久久| 亚洲午夜激情网页| 伊人久久亚洲热| 一区二区成人精品| 影视先锋久久| 99视频一区二区| 亚洲电影中文字幕| 一区二区三区精品视频| 精品成人一区| 亚洲视频一区在线观看| 在线观看一区二区精品视频| 一区二区三区久久| 亚洲电影在线| 午夜精品久久久久久99热| 亚洲精品在线三区| 黑人中文字幕一区二区三区| 日韩亚洲欧美精品| 亚洲第一区在线| 欧美在线视频在线播放完整版免费观看 | 亚洲人成小说网站色在线| 国产欧美日韩另类视频免费观看| 亚洲视频在线看| 欧美色精品天天在线观看视频| 久久九九全国免费精品观看| 欧美日本在线播放| 美国成人毛片| 国产精品一区一区三区| 99精品国产在热久久婷婷| 亚洲国产裸拍裸体视频在线观看乱了中文 | 欧美专区福利在线| 欧美片第1页综合| 欧美大片18| 激情一区二区| 欧美一区亚洲| 欧美专区第一页| 国产麻豆综合| 亚洲一区二区综合| 亚洲视频一二区| 欧美日韩视频| 亚洲精品在线免费| 夜夜嗨av色综合久久久综合网| 免费观看在线综合色| 欧美 日韩 国产精品免费观看| 国产欧美视频一区二区| 亚洲一区日韩在线| 一区二区三区**美女毛片| 欧美gay视频| 欧美成人午夜剧场免费观看| 极品尤物av久久免费看| 久久久国产成人精品| 欧美成人精品在线播放| 最新中文字幕一区二区三区| 蜜臀久久99精品久久久画质超高清| 美女精品国产| 亚洲国产日韩在线| 欧美精品日韩三级| 一区二区高清视频在线观看| 亚洲午夜未删减在线观看| 国产精品日韩专区| 亚洲视屏一区| 国产精品a久久久久久| 亚洲无线一线二线三线区别av| 欧美亚洲免费电影| 韩日视频一区| 欧美精品精品一区| 亚洲一区二区三区成人在线视频精品 | 午夜精品亚洲一区二区三区嫩草| 国产精品任我爽爆在线播放| 欧美专区在线| 亚洲精品久久久久| 午夜亚洲性色福利视频| 国产亚洲欧美日韩一区二区| 久久天天狠狠| 一区二区三区黄色| 欧美日韩亚洲一区二区| 日韩视频在线免费观看| 91久久黄色| 欧美日本在线视频| 亚洲在线免费视频| 美国成人直播| 亚洲视频1区| 激情五月***国产精品| 欧美精品九九99久久| 午夜国产精品视频免费体验区| 亚洲大片一区二区三区| 欧美亚洲视频| 9久re热视频在线精品| 国产视频自拍一区| 欧美日韩一区在线观看| 久久国产成人| 国产精品99久久久久久久女警 | 亚洲大胆视频| 国产精品日韩精品| 欧美另类女人| 久久久久久久久久久久久女国产乱| 亚洲欧洲日本一区二区三区| 久久久精品动漫| 亚洲欧美日韩天堂| 亚洲美女福利视频网站| 伊人精品在线| 国产色爱av资源综合区| 国产精品成av人在线视午夜片| 欧美成年人视频| 久久久久久91香蕉国产| 午夜亚洲性色视频| 亚洲午夜视频在线观看|