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

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 閱讀(1452) 評論(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>
            av成人免费观看| 国产亚洲欧美色| 亚洲欧美视频| 小处雏高清一区二区三区| 一本久久知道综合久久| 亚洲麻豆视频| 亚洲午夜日本在线观看| 亚洲一区日韩在线| 久久久久9999亚洲精品| 久久女同互慰一区二区三区| 99精品黄色片免费大全| 国产欧美日韩一区| 亚洲美女毛片| 亚洲一区影音先锋| 久久综合给合久久狠狠狠97色69| 另类专区欧美制服同性| 亚洲人成高清| 亚洲图片在线观看| 久久久久久久精| 欧美高清在线观看| 国产欧美日韩三级| 一区二区三区国产盗摄| 欧美一区二区三区精品| 母乳一区在线观看| 一个色综合av| 美女任你摸久久| 国产精品专区h在线观看| 伊人久久综合| 亚洲欧美一区二区视频| 欧美不卡一卡二卡免费版| 一本久久a久久精品亚洲| 久久gogo国模啪啪人体图| 欧美精品一区二区三区视频| 国产一区二区三区免费观看| 9人人澡人人爽人人精品| 久久九九免费视频| 日韩亚洲视频| 免费的成人av| 国产一区二区三区在线观看视频 | 亚洲一区二区三区四区在线观看 | 国产欧美精品在线| 亚洲精品美女免费| 美女久久一区| 欧美一区午夜精品| 国产精品久久久免费| 日韩一级黄色av| 亚洲电影在线观看| 久久亚洲欧美| 国产亚洲第一区| 欧美一区二区福利在线| 亚洲视频一二区| 欧美日韩网站| 一区二区三区四区蜜桃| 91久久中文| 欧美激情第9页| 亚洲精品一区二区三区婷婷月| 裸体丰满少妇做受久久99精品| 亚洲永久免费av| 国产日韩欧美一区二区三区在线观看 | 久久大逼视频| 韩日在线一区| 久色成人在线| 久色成人在线| 在线看不卡av| 欧美大片免费| 欧美精品在线观看一区二区| 日韩一级裸体免费视频| 日韩视频在线免费观看| 国产精品成人在线| 午夜亚洲视频| 欧美中文字幕在线播放| 在线观看av一区| 亚洲成人在线视频播放 | 日韩午夜激情电影| 亚洲精品在线看| 欧美日在线观看| 香蕉久久久久久久av网站| 亚洲欧美三级伦理| 激情婷婷欧美| 亚洲国产美女久久久久| 国产精品jizz在线观看美国| 性一交一乱一区二区洋洋av| 久久aⅴ乱码一区二区三区| 在线看国产日韩| 亚洲精品久久久久久久久久久| 国产精品麻豆va在线播放| 久久夜色精品一区| 欧美另类高清视频在线| 亚洲欧美日韩精品一区二区 | 欧美亚韩一区| 久久精品视频网| 欧美国产激情二区三区| 午夜精品短视频| 欧美va天堂va视频va在线| 亚洲一区二区三区中文字幕在线| 亚洲欧美大片| 亚洲精品一区二区三| 欧美一区二区精美| 亚洲欧洲精品一区二区精品久久久 | 日韩一区二区精品| 欧美亚洲在线视频| 亚洲精品一区二区三区婷婷月| 亚洲视频精选| 91久久精品日日躁夜夜躁欧美| 一区二区三区高清在线| 亚洲成人自拍视频| 亚洲综合精品四区| 日韩视频在线你懂得| 欧美一区在线看| 亚洲欧美日韩精品在线| 欧美国产另类| 久热综合在线亚洲精品| 国产欧美日韩视频| 一本在线高清不卡dvd | 性欧美激情精品| 一区二区三区你懂的| 久久久一本精品99久久精品66| 亚洲欧美一区二区三区久久| 欧美激情第五页| 亚洲成人在线视频播放 | 国产精品99久久久久久久久久久久 | 美国成人毛片| 国产精品色一区二区三区| 亚洲国产精品成人| 亚洲高清资源| 久久这里只精品最新地址| 欧美资源在线| 国产亚洲精品美女| 亚洲欧美日韩国产| 久久国产精彩视频| 国产精品久久久久久久久动漫| 日韩视频一区二区三区在线播放免费观看 | 国产日韩精品久久| 亚洲欧美国产va在线影院| 亚洲一区二区免费看| 欧美大胆a视频| 欧美国产综合| 亚洲精品国产系列| 欧美丰满高潮xxxx喷水动漫| 亚洲国产欧美一区二区三区丁香婷| 国产偷久久久精品专区| 亚洲欧美日韩在线一区| 久久久最新网址| 在线成人黄色| 欧美国产日韩一区二区在线观看| 亚洲高清在线| 一区二区三区日韩| 国产精品日本一区二区| 欧美一区二区三区婷婷月色| 免费成人激情视频| 亚洲精品久久久久久久久久久久 | 久久人人爽人人爽爽久久| 久久中文字幕一区二区三区| 在线观看精品视频| 欧美v日韩v国产v| 亚洲精品免费一二三区| 亚洲欧美国产毛片在线| 国产情侣久久| 蜜桃av一区| 在线性视频日韩欧美| 久久久久久精| 久久夜色精品亚洲噜噜国产mv| 久久精品视频播放| 国产欧美日本| 巨胸喷奶水www久久久免费动漫| 女主播福利一区| 99视频精品在线| 国产区欧美区日韩区| 免费观看成人鲁鲁鲁鲁鲁视频| 亚洲剧情一区二区| 久久亚洲高清| 国产精品99久久久久久www| 国产精品一卡| 欧美激情视频一区二区三区在线播放| 国产精品99久久久久久白浆小说| 欧美中文在线观看| 日韩一级精品| 狠狠色狠狠色综合日日91app| 欧美激情一二三区| 欧美在线播放| 99视频精品在线| 欧美成人午夜剧场免费观看| 亚洲在线观看免费| 亚洲国内高清视频| 国产一区二三区| 国产精品都在这里| 欧美h视频在线| 久久国产精品色婷婷| 亚洲网站在线播放| 亚洲欧洲日夜超级视频| 米奇777在线欧美播放| 欧美一区二区高清在线观看| 艳女tv在线观看国产一区| 狠狠色香婷婷久久亚洲精品| 国产精品久久久久久久久久三级| 久久综合五月天婷婷伊人| 香蕉久久国产| 亚洲自拍高清| 亚洲图片在线观看| 一本色道久久综合狠狠躁篇怎么玩|