<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                [TOC] ### cmake 生成release pdb的指令 ***** 在cmakelist 文件中使用 ``` set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}") set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO}") set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO}") set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /Zi") ``` ### Debug 版本 ***** 參數 含義 ``` /MDd /MLd 或 /MTd 使用 Debug runtime library (調試版本的運行時刻函數庫) /Od 關閉優化開關 /D "_DEBUG" 相當于 #define _DEBUG,打開編譯調試代碼開關 (主要針對assert函數) /ZI 創建 Edit and continue(編輯繼續)數據庫,這樣在調試過程中如果修改了源代碼不需重新編譯 /GZ 可以幫助捕獲內存錯誤 /Gm 打開最小化重鏈接開關, 減少鏈接時間 ``` ### Release 版本 ***** 參數 含義 ``` /MD /ML 或 /MT 使用發布版本的運行時刻函數庫 /O1 或 /O2 優化開關,使程序最小或最快 /D "NDEBUG" 關閉條件編譯調試代碼開關 (即不編譯assert函數) /GF 合并重復的字符串, 并將字符串常量放到只讀內存, 防止被修改 ``` ### 編譯一個需要第三方庫的項目 ***** #### 鏈接頭文件目錄 **INCLUDE_DIRECTORIES**,它相當于 g++ 選項中的 -I 參數的作用,也相當于環境變量中增加路徑到 CPLUS_INCLUDE_PATH 變量的作用: ``` include_directories(../../../thirdparty/comm/include) ``` #### 鏈接庫目錄 **LINK_DIRECTORIES**, **它相當于 g++ 命令的 -L 選項的作用**,也相當于環境變量中增加 LD_LIBRARY_PATH 的路徑的作用 ``` link_directories("/home/server/third/lib") ``` #### 鏈接庫 **LINK\_LIBRARIES(庫名稱即可)** ` ` #### **宏定義** [CMakeLists.txt 之 多重判斷宏定義](http://blog.csdn.net/u012816621/article/details/52605427) 比如設置為 CPU_ONLY ``` add_definitions(-DCPU_ONLY) ``` #### 添加子文件夾 使用 **add_subdirectory** ``` add_subdirectory(Foundation_Classes) add_subdirectory(Behavioral_Patterns) add_subdirectory(Creational_Patterns) add_subdirectory(Structural_Patterns) ``` ### CMake添加[忽略特定默認庫] ***** SET(CMAKE_EXE_LINKER_FLAGS /NODEFAULTLIB:"libxxx1.lib;libxxx2.lib;[...]") ### CMake指定C/C++版本 ***** 在CMakeLists.txt文件中b包含: ``` add_compile_options(-std=c++0x) #CMake 2.8.12 or newer ``` 或者 ``` add_definitions(-std=c++0x) #CMake 2.8.11 or older ``` ` ` 在CMake 3.1及更高版本中設置C ++標準的正確方法是: ``` set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED on) ``` 也可以為一個目標指定標準: ``` set_property(TARGET&nbsp;mylib&nbsp;PROPERTY&nbsp;CXX_STANDARD 11) ``` ` ` 從CMake 3.3開始,您還可以使用奇怪的生成器表達式語法將此標志僅應用于特定語言(例如,僅C或C ++): ``` add_compile_options($:-std=c++14> $:-std=c99>) ``` ` ` 自CMake 3.8起,target\_compile\_features命令有一個新選項,可用于設置目標的所需標準: ``` target_compile_features(mylib PUBLIC cxx_std_11) ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看