<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>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # 2.1 檢測操作系統 **NOTE**:*此示例代碼可以在 https://github.com/dev-cafe/cmake-cookbook/tree/v1.0/chapter-02/recipe-01 中找到。該示例在CMake 3.5版(或更高版本)中是有效的,并且已經在GNU/Linux、macOS和Windows上進行過測試。* CMake是一組跨平臺工具。不過,了解操作系統(OS)上執行配置或構建步驟也很重要。從而與操作系統相關的CMake代碼,會根據操作系統啟用條件編譯,或者在可用或必要時使用特定于編譯器的擴展。本示例中,我們將通過一個不需要編譯任何源代碼的示例,演示如何使用CMake檢測操作系統。為了簡單起見,我們只考慮配置過程。 ## 具體實施 我們將用一個非常簡單的`CMakeLists.txt`進行演示: 1. 首先,定義CMake最低版本和項目名稱。請注意,語言是`NONE`: ```cmake cmake_minimum_required(VERSION 3.5 FATAL_ERROR) project(recipe-01 LANGUAGES NONE) ``` 2. 然后,根據檢測到的操作系統信息打印消息: ```cmake if(CMAKE_SYSTEM_NAME STREQUAL "Linux") message(STATUS "Configuring on/for Linux") elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin") message(STATUS "Configuring on/for macOS") elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows") message(STATUS "Configuring on/for Windows") elseif(CMAKE_SYSTEM_NAME STREQUAL "AIX") message(STATUS "Configuring on/for IBM AIX") else() message(STATUS "Configuring on/for ${CMAKE_SYSTEM_NAME}") endif() ``` 測試之前,檢查前面的代碼塊,并考慮相應系統上的具體行為。 3. 現在,測試配置項目: ```shell $ mkdir -p build $ cd build $ cmake .. ``` 4. 關于CMake輸出,這里有一行很有趣——在Linux系統上(在其他系統上,輸出會不同): ```shell -- Configuring on/for Linux ``` ## 工作原理 CMake為目標操作系統定義了`CMAKE_SYSTEM_NAME`,因此不需要使用定制命令、工具或腳本來查詢此信息。然后,可以使用此變量的值實現特定于操作系統的條件和解決方案。在具有`uname`命令的系統上,將此變量設置為`uname -s`的輸出。該變量在macOS上設置為“Darwin”。在Linux和Windows上,它分別計算為“Linux”和“Windows”。我們了解了如何在特定的操作系統上執行特定的CMake代碼。當然,應該盡量減少這種定制化行為,以便簡化遷移到新平臺的過程。 **NOTE**:*為了最小化從一個平臺轉移到另一個平臺時的成本,應該避免直接使用Shell命令,還應該避免顯式的路徑分隔符(Linux和macOS上的前斜杠和Windows上的后斜杠)。CMake代碼中只使用前斜杠作為路徑分隔符,CMake將自動將它們轉換為所涉及的操作系統環境。*
                  <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>

                              哎呀哎呀视频在线观看