• <menu id="w2i4a"></menu>
  • logo Clion入門(mén)教程

    文檔首頁(yè)>>Clion入門(mén)教程>>C++開(kāi)發(fā)平臺(tái)Clion入門(mén)教程:如何創(chuàng)建和開(kāi)發(fā)CMake項(xiàng)目(下)

    C++開(kāi)發(fā)平臺(tái)Clion入門(mén)教程:如何創(chuàng)建和開(kāi)發(fā)CMake項(xiàng)目(下)


    CLion是一款專(zhuān)為開(kāi)發(fā)C及C++所設(shè)計(jì)的跨平臺(tái)IDE。它是以IntelliJ為基礎(chǔ)設(shè)計(jì)的,包含了許多智能功能來(lái)提高開(kāi)發(fā)人員的生產(chǎn)力。這種強(qiáng)大的IDE幫助開(kāi)發(fā)人員在Linux、OS X和Windows上來(lái)開(kāi)發(fā)C/C++,同時(shí)它還使用智能編輯器來(lái)提高代碼質(zhì)量、自動(dòng)代碼重構(gòu)并且深度整合CMake編譯系統(tǒng),從而提高開(kāi)發(fā)人員的工作效率。感興趣的朋友歡迎下載試用!CLion現(xiàn)已加入在線(xiàn)訂購(gòu),點(diǎn)擊此處查看價(jià)格詳情>>

    點(diǎn)擊下載CLion最新試用版

    本教程將指導(dǎo)您完成創(chuàng)建和開(kāi)發(fā)簡(jiǎn)單CMake項(xiàng)目的過(guò)程。我們將逐步學(xué)習(xí)CMake作為構(gòu)建系統(tǒng)的基礎(chǔ)知識(shí),以及CMake項(xiàng)目的CLion設(shè)置和操作。

    上文中我們講述了前七個(gè)步驟,今天我們將繼續(xù)上文的內(nèi)容。

    5.添加包含目錄

    為了使用位于單獨(dú)目錄中的其他標(biāo)題,我們需要將它們添加到所有目標(biāo)或某些特定目標(biāo)中。

    例如,讓我們?cè)陧?xiàng)目根目錄下創(chuàng)建三個(gè)目錄,包括include,includes / general,includes / math,并在CMakeLists.txt中編寫(xiě)以下命令:

    include_directories(includes/math)
    include_directories(includes/general)

    這兩個(gè)命令使位于一般數(shù)學(xué)中的標(biāo)頭可用于包括來(lái)自所有目標(biāo)源的標(biāo)頭。例如,我們可以寫(xiě)#include "header_math.h"在calc.cpp。

    僅當(dāng)您將標(biāo)題和源明確包含在CMakeLists.txt中或?qū)⑵浒谝呀?jīng)屬于該項(xiàng)目的其他文件中時(shí),才能正確解析添加到該項(xiàng)目的標(biāo)題和源

    靜態(tài)庫(kù)

    在上文第三部中,我們創(chuàng)建了一個(gè)名為test_library的靜態(tài)庫(kù)(默認(rèn)文件名為libtest_library.a)。

    讓我們?cè)陧?xiàng)目根目錄下創(chuàng)建一個(gè)lib目錄,并將libtest_library.a從其默認(rèn)位置(cmake-build-debug)復(fù)制到此文件夾。

    我們將使用兩個(gè)命令將靜態(tài)庫(kù)鏈接到cmake_testapp目標(biāo):find_library提供完整路徑,然后我們通過(guò)變量將其直接傳遞到target_link_libraries命令中${TEST_LIBRARY}:

    鏈接靜態(tài)庫(kù)

    注意:確保放置target_link_libraries在add_executable命令之后,以便CMake在鏈接庫(kù)之前實(shí)際構(gòu)建目標(biāo)。

    動(dòng)態(tài)庫(kù)(Boost示例)

    為了說(shuō)明鏈接動(dòng)態(tài)庫(kù),我們將舉一個(gè)使用Boost.Test框架的示例。

    讓我們int add_values (int a, int b) { return a+b;} 在calc.cpp中編寫(xiě)一個(gè)簡(jiǎn)單的函數(shù) ,并使用函數(shù)聲明創(chuàng)建關(guān)聯(lián)的標(biāo)頭calc.h。我們將在Boost.Test框架的幫助下測(cè)試此功能。

    有關(guān)使用Boost.Test的詳細(xì)信息,請(qǐng)參閱單元測(cè)試教程。

    隨著我們的項(xiàng)目變得越來(lái)越復(fù)雜,CMakeLists.txt文件可能變得難以維護(hù)。為避免這種情況并建立透明的項(xiàng)目結(jié)構(gòu),我們將測(cè)試提取到子項(xiàng)目中。

    讓我們添加一個(gè)名為test的目錄,并在其中創(chuàng)建源文件tests.cpp。另外,我們需要為該目錄提供其自己的CMakeLists.txt文件(在“Project”目錄中右鍵單擊test,然后選擇New | CMakeLists.txt):

    測(cè)試子項(xiàng)目

    子目錄test / CMakeLists.txt腳本最初為空。我們可以通過(guò)使用libsBoost插入一個(gè)實(shí)時(shí)模板來(lái)開(kāi)始填充它。按或單擊Code | Insert Live Template,然后選擇: Ctrl+J boost_with_libs

    提高實(shí)時(shí)模板

    將插入的代碼調(diào)整為以下內(nèi)容:

    代碼
    set(Boost_USE_STATIC_LIBS OFF) #enable dynamic linking
    
    # search for unit_test_framework
    find_package(Boost REQUIRED COMPONENTS unit_test_framework)
    
    include_directories(${Boost_INCLUDE_DIR})
    
    # create a cmake_testapp_boost target from test.cpp
    add_executable(cmake_testapp_boost tests.cpp)
    
    # link Boost libraries to the new target
    target_link_libraries(cmake_testapp_boost ${Boost_LIBRARIES})
    
    # link Boost with code library
    target_link_libraries(cmake_testapp_boost test_library)

    另外,我們需要將add_subdirectory(test)命令放在 CMakeLists.txt中,以使我們的測(cè)試目標(biāo)cmake_testapp_boost可用于主版本。

    放置在根CMake腳本中時(shí),此命令聲明一個(gè)子項(xiàng)目test,該子項(xiàng)目具有自己的CMakeLists.txt。

    在兩個(gè)CMakeLists.txt文件中重新加載更改后,CLion為cmake_testapp_boost目標(biāo)創(chuàng)建Run/Debug配置。這是常規(guī)的CMake應(yīng)用程序配置,我們可以立即啟動(dòng)。但是,為了能夠使用內(nèi)置的測(cè)試運(yùn)行器,讓我們從Boost.Test模板中創(chuàng)建另一個(gè)配置:

    增強(qiáng)測(cè)試運(yùn)行/調(diào)試配置

    現(xiàn)在,我們可以運(yùn)行此配置并獲取測(cè)試結(jié)果。測(cè)試運(yùn)行器顯示套件中的測(cè)試樹(shù),它們的輸出,狀態(tài)和持續(xù)時(shí)間:

    助推器

    7.了解更多

    為了方便大家深入了解CLion中的CMake,接下來(lái)我將為大家?guī)?lái)以下內(nèi)容:

    • 更改項(xiàng)目根目錄

    • 重置CMake緩存

    • 指定編譯器標(biāo)志

    • 切換編譯器

    • 運(yùn)行構(gòu)建操作和CMake安裝

    • 使用環(huán)境變量和CLION_IDE宏。

    今天的內(nèi)容你學(xué)會(huì)了嗎?前往慧都網(wǎng)免費(fèi)下載最新版嘗試一下,并在評(píng)論分享你的想法?;鄱悸≈赝瞥觥?a href="http://www.xiangyinys.com/zt/2020/9/#ide" target="_blank">軟件國(guó)產(chǎn)化服務(wù)季 ” 低價(jià)狂潮,省到尖叫最高立減2999元!低至797元!想要購(gòu)買(mǎi)Clion正版授權(quán)的朋友歡迎咨詢(xún)慧都官方客服。

    JetBrain技術(shù)交流群現(xiàn)已開(kāi)通,QQ搜索群號(hào)“786598704或者掃描下方二維碼即可加入

    掃碼咨詢(xún)


    添加微信 立即咨詢(xún)

    電話(huà)咨詢(xún)

    客服熱線(xiàn)
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();