<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之旅 廣告
                [TOC] ### **vcpkg概述** ***** vcpkg是一款再Windows/Linux/MacOS上管理c/c++ lib庫的工具。 * Github:[https://github.com/microsoft/vcpkg](https://github.com/microsoft/vcpkg) * Slack:[https://cpplang.now.sh/](https://cpplang.now.sh/), the #vcpkg channel * Docs:[Documentation](https://github.com/microsoft/vcpkg/blob/master/docs/index.md) [TOC] ### **vcpkg安裝** ***** 準備條件: * Windows 10, 8.1, 7, Linux, or MacOS * Visual Studio 2015 Update 3 or newer (on Windows) * Git * gcc >= 7 or equivalent clang (on Linux) * *Optional:*CMake 3.12.4 下載源碼 執行命令: ``` > git clone https://github.com/Microsoft/vcpkg.git > cd vcpkg PS> .\bootstrap-vcpkg.bat Linux:~/$ ./bootstrap-vcpkg.sh ``` 可以看到vcpkg根目錄生成了一個vcpkg/vcpkg.exe文件 vcpkg支持在Powershell和bash中自動完成命令 包名 選項等 要啟用tab-completion,請使用以下其中之一: ``` PS> .\vcpkg integrate powershell Linux:~/$ ./vcpkg integrate bash ``` ` ` #### CentOS7遇到問題 devtoolset-7 or devtoolset-8無法編譯通過 ![UTOOLS1589161524536.png](https://user-gold-cdn.xitu.io/2020/5/11/172016882a12432a?w=858&h=309&f=png&s=32168) 修改文件./toolsrc/include/vcpkg/packagespec.h : ``` PackageSpec() noexcept = default; to PackageSpec() = default; (line 22)` ; `FullPackageSpec() noexcept = default;to FullPackageSpec() = default; (line 99)`; ``` 升級git ``` yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker -y wget https://www.kernel.org/pub/software/scm/git/git-2.9.5.tar.gz tar xzf git-2.9.5.tar.gz cd git-2.9.5 make prefix=/usr/local/git all make prefix=/usr/local/git install echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/bashrc source /etc/bashrc ``` ### **vcpkg 使用** ***** #### 安裝/刪除/列表 安裝 ``` vcpkg install pkgname ``` 刪除 ``` vcpkg remove pkgname ``` 列表-已經安裝的包 ``` vcpkg list ``` ` ` #### **安裝靜態庫或者動態庫設置** 修改文件內容。如果是linux平臺,文件路徑:./vcpkg/triplets/x64-linux.cmake ``` #靜態庫 #set(VCPKG_LIBRARY_LINKAGE static) #動態庫 #set(VCPKG_LIBRARY_LINKAGE dynamic) ``` ### **Vcpkg和Visual Studio的集成** ***** 上面我們已經安裝了一些第三方庫,那如何使用呢?常規情況下,我們需要設置include目錄、lib目錄等,會有很多工作量。Vcpkg提供了一套機制,可以全自動的適配目錄,而開發者不需要關心已安裝的庫的目錄在哪里,也不需要設置。這是Vcpkg的一大優勢。 #### 集成到全局 “集成到全局”適用于Visual Studio開發環境和msbuild命令行。執行命令: ``` .\vcpkg integrate install ``` 當出現“Applied user-wide integration for this vcpkg root.”字樣的時候,說明已經集成成功。這時候可以在任意的工程中使用安裝好的第三方庫。 #### 移除全局集成 移除全局集成只要執行下列命令即可: ``` .\vcpkg integrate remove ``` ` ` #### 集成到工程 “集成到工程”是整個vcpkg中最復雜的一項,它需要利用Visual Studio 中的nuget插件來實現。我們接下來一步一步來說。 ` ` ##### 生成配置 執行命令 ``` .\vcpkg integrate project ``` 這時候會在“\\scripts\\buildsystems”目錄下,生成nuget配置文件. ` ` ##### 基本配置 打開Visual Studio,點擊菜單“工具->NuGet包管理器->程序包管理器設置”,進入設置界面,點擊“程序包源” ![UTOOLS1587001120317.png](https://user-gold-cdn.xitu.io/2020/4/16/17180a357190150a?w=758&h=494&f=png&s=42891) 點擊“加號”增加一個源。修改源的名字為vcpkg。在“源”的選項中點擊右側的”…”選擇vcpkg目錄下的“scripts\\buildsystems”目錄,然后點擊右側的“更新按鈕”。 點擊“確定”,關閉設置對話框。 到此,全局性的設置已經完成,以后不必再重復設置了。 ##### 工程配置 用Visual Studio 打開一個工程或解決方案。右鍵點擊需要設置的工程,選擇“管理NuGet程序包”。在右上角的“程序包源”中選擇剛剛設置的“vcpkg”。這樣在“瀏覽”選項卡中就可以看到“vcpkg.H.Repos.vcpkg”。點擊最右側的“安裝”。這樣就可以集成到某個工程了。 ![UTOOLS1587001504807.png](https://user-gold-cdn.xitu.io/2020/4/16/17180a935137b995?w=1527&h=543&f=png&s=54686) 點擊安裝即可。 ` ` #### 集成到cmake 通過工具鏈文件安裝庫 `scripts\\buildsystems\\vcpkg.cmake`, 用cmake命令行和工具鏈文件可以安裝你想要安裝的庫 ``` -DCMAKE_TOOLCHAIN_FILE=[vcpkg root]\scripts\buildsystems\vcpkg.cmake ``` 例子: ``` cmake -DBUILD_SHARED_LIBS=OFF -DWITH_DYNAMIC_LOAD=OFF -DWITH_GRPC=OFF -DVCPKG_TARGET_TRIPLET=x64-windows-static -DCMAKE_TOOLCHAIN_FILE="[vcpkg-toot]\\vcpkg\\scripts\\buildsystems\\vcpkg.cmake" <path-to-project> cmake --build . ``` ***** 方法一 在vscode里首選項設置里加入: ``` "cmake.configureArgs":[ "-DCMAKE_TOOLCHAIN_FILE=E:\\idzqj\\Work\\harry\\IM-Server\\vcpkg\\scripts\\buildsystems\\vcpkg.cmake" ] ``` 方法二:在CMakeList.txt文件里加入,需要用再projcect()之前 ``` set(CMAKE_TOOLCHAIN_FILE "D:\vcpkg\scripts\buildsystems\vcpkg.cmake") project(PROJECT_NAME) ``` 方法三 ``` cmake .."-DCMAKE\_TOOLCHAIN\_FILE=D:\\vcpkg-master\\vcpkg\\scripts\\buildsystems\\vcpkg.cmake" -G"Visual Studio 14" ``` #### 集成靜態庫 Vcpkg默認編譯鏈接的是動態庫,如果要鏈接靜態庫,目前還沒有簡便的方法。需要做如下操作 用文本方式打開vcxproj工程文件 在xml的段里面增加如下兩句話即可 ``` <VcpkgTriplet>x86-windows-static</VcpkgTriplet> <VcpkgEnabled>true</VcpkgEnabled> ``` 在CMake中集成靜態庫,需要額外指令 ``` cmake .. -DCMAKE_TOOLCHAIN_FILE=.../vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x86-windows-static ``` ### **使用Vcpkg時的注意點** ***** * Vcpkg僅支持Visual Studio 2015 update 3及以上版本(包括Visual Studio 2017),究其原因,很可能和c++11的支持度以及集成原理有關系。 * 目前Vcpkg編譯靜態庫,默認只支持MT模式。
                  <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>

                              哎呀哎呀视频在线观看