C++ vcpkg 安装
1、下載vcpkg庫,可以通過git下載也可以下載源碼包:https://github.com/Microsoft/vcpkg
C:\src\>git clone https://github.com/Microsoft/vcpkg.git
?
2、運行構建vcpkg.exe
C:\src\>cd vcpkg
C:\src\vcpkg>bootstrap-vcpkg.bat
?
3、運行如下命令使計算機的所有用戶都可以使用vcpkg (備注:需要管理員權限)
vcpkg integrate install
>> CMake projects should use: "-DCMAKE_TOOLCHAIN_FILE=C:/Sofe/vcpkg-master/scripts/buildsystems/vcpkg.cmake"
?
4、使用vcpkg安裝任何的程序包,如:
vcpkg install sdl2 curl sqlite3
?
常用命令:
查看Vcpkg支持的開源庫列表 ?
vcpkg search
查看vcpkg總共支持架構:
vcpkg help triplet
指定編譯某種架構的程序庫
vcpkg install jsoncpp:x64-windows
移除一個已經安裝(編譯)的開源庫,移除也只是移除了二進制程序庫而已,源碼包和解壓縮的源碼并沒有刪除
vcpkg remove jsoncpp
指定平臺
vcpkg remove jsoncpp:x64-windows
一鍵移除“過時”的包
vcpkg remove --outdated
列出已經安裝的開源庫
vcpkg list
更新已經安裝的開源庫
update指令,可以顯示可以升級的開源庫的列表。另一個是upgrade的指令,會重新編譯所有需要更新的包。
?
導出已經安裝的開源庫,默認情況下只會導出x86-windows的包
vcpkg export jsoncpp --7zip
?
vcpkg支持5種導出包格式 參數 格式 –raw 以不打包的目錄格式導出 –nuget 以nuget包形式導出 –ifw 我也不知道這是啥格式 –zip 以zip壓縮包形式導出 –7zip 以7z壓縮包形式導出 ? 默認情況下只會導出x86-windows的包,如果要導出所有包,那需要制定相應的triplet vcpkg export jsoncpp jsoncpp:x64-windows --7zip 等價于: vcpkg export jsoncpp:x86-windows jsoncpp:x64-windows --7zip ? 如果要指定輸出目錄和特定文件名,需使用”–output=”參數 ? 導入備份的開源庫 vcpkg import xxx.7z ? 導出nuget包 vcpkg export librabbitmq:x86-windows --nuget ? With a project open, go to Tools->NuGet Package Manager->Package Manager Console and paste: Install-Package vcpkg-export-20200304-164921 -Source "C:\Sofe\vcpkg"?
集成到全局
vcpkg integrate install
移除全局集成
vcpkg integrate remove
集成到工程
vcpkg integrate project
會在“\scripts\buildsystems”目錄下,生成nuget配置文件
?
打開Visual Studio,點擊菜單“工具->NuGet包管理器->程序包管理器設置”,進入設置界面,點擊“程序包源”。點擊“加號”增加一個源。修改源的名字為vcpkg。在“源”的選項中點擊右側的”…”選擇vcpkg目錄下的“scripts\buildsystems”目錄,然后點擊右側的“更新按鈕”。點擊“確定”,關閉設置對話框。
?
用Visual Studio 打開一個工程或解決方案。右鍵點擊需要設置的工程,選擇“管理NuGet程序包”。在右上角的“程序包源”中選擇剛剛設置的“vcpkg”。這樣在“瀏覽”選項卡中就可以看到“vcpkg.H.Repos.vcpkg”。點擊最右側的“安裝”。這樣就可以集成到某個工程了。
?
集成到CMake
只要在cmake文件中加入下面這句話即可。idea中可以添加在設置里面
-DCMAKE_TOOLCHAIN_FILE=/scripts/buildsystems/vcpkg.cmake
?
集成靜態庫
Vcpkg默認編譯鏈接的是動態庫,如果要鏈接靜態庫,目前還沒有簡便的方法。需要做如下操作
1、用文本方式打開vcxproj工程文件
2、在xml的段里面增加如下兩句話即可
<VcpkgTriplet>x86-windows-static</VcpkgTriplet>
<VcpkgEnabled>true</VcpkgEnabled>
?
在CMake中集成靜態庫,需要額外指令
cmake .. -DCMAKE_TOOLCHAIN_FILE=.../vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x86-windows-static
?
目前Vcpkg編譯靜態庫,默認只支持MT模式。
總結
以上是生活随笔為你收集整理的C++ vcpkg 安装的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 病毒周报
- 下一篇: s3c2440移植MQTT