目录
包管理工具
当我们需要使用别人开发的库时,可能会需要去下载其源码然后编译再引入我们的项目,这样做的话一来引用的库多了比较麻烦,而且需要自己管理这些包,二来一旦迁移到其他机子上就得复制过去或是再下载编译一次,尤其对跨平台项目来说简直苦不堪言,因此会有包管理工具的出现。
vcpkg
它是由微软开发的,可以像安装普通软件一样地安装库,而且和visual studio/cmake很契合,在win和linux都可用。
安装
- 先找一个你希望安装vcpkg的位置,这里使用ubuntu示例,路径选在/home/coolight/app
- 打开控制台,来到上述路径,然后执行命令(需要先安装git,请忽略命令前的 $ ):
$ git clone https://github.com/microsoft/vcpkg
- 由于网络原因,可能会拉取失败,如果你能搭梯子最好,不能的话就多试几次或者换wifi/移动数据等尝试。
- 下载完成后在当前目录下就会有一个叫vcpkg的目录
- 进入vcpkg目录,注意它有两个文件:
- bootstrap-vcpkg.sh:linux系统请执行这个文件(执行命令 ./bootstrap-vcpkg.sh )
- bootstrap-vcpkg.bat:win系统请执行这个文件(双击打开或执行命令 bootstrap-vcpkg.bat)
- 执行完后就会出现上图中最后的那个vcpkg可执行文件,win系统下为vcpkg.exe。至此就安装完成了
- 当然目前只能在这个目录运行vcpkg来安装、升级等操作,设置环境变量即可在任意地方都可以运行。
常用命令
搜索库
- ./vcpkg search [库名]
- 搜索可安装的包,示例:
安装库
- ./vcpkg install [库名]:[位数-系统环境] [可选参数]
- 位数有x86和64;x86即32位,x64即64位。可以省略,win下默认安装32位,linux下默认安装64位。
- 系统环境可以是windows,linux等,可以省略,默认会安装当前系统环境对应的库,可以通过命令查看:./vcpkg help triplet
- win下默认会安装x86版本,而linux下默认是x64。可以设置环境变量修改这个默认安装的版本:
- VCPKG_DEFAULT_TRIPLET=x64-windows
- -
- 可选参数有很多,比如:
- --head,安装库的最新的版本
- --dry-run,不做任何实质上的下载安装,仅显示将要被安装的库的名称和版本信息
- ......
- 例如:
- 安装spdlog:./vcpkg install spdlog
- 安装openssl并指定安装win的64位:./vcpkg install openssl:x64-windows
- 可选参数有很多,比如:
卸载库
- ./vcpkg remove [库名]
- ./vcpkg remove --outdated 卸载所有过期的库
列出已安装库
- ./vcpkg list
集成到开发环境
- ./vcpkg integrate install
- 需要执行这一句才能“通知”到vs或是cmake使用这些安装的库
问题
如果使用vcpkg安装库,更新等过程中报错,请一定一定要耐心看它的错误信息,往往它会告诉你解决办法,比如因缺少依赖软件需要安装;因网络问题文件下载失败,需要重试等等。
安装库之后导入使用依然报错
- 可能你没有让vcpkg集成过去,需要执行:./vcpkg integrate install
- 如果使用的是cmake,安装后还需要在项目的CMakelist.txt配置相应的编译链接,这些一般在vcpkg安装库完成后会提示:
如何重装/卸载vcpkg
- 我一直是直接把整个vcpkg文件夹删了就是卸载了,然后重新走一次教程安装就是重装
ubuntu下安装ICU一直在最后出错
- 其实第一次出错的时候有提示说需要一个叫autoconf的程序但还没安装找不到
- 但我执行 sudo apt install autoconf 之后还是出错
- 后来根据vcpkg的提示去看了错误日志文件:[vcpkg root]/buildtrees/icu/config-x64-linux-dbg-err.log
- 里面就提示错误是因为找不到 autoconf-archive
- 因此执行sudo apt install autoconf-archive 安装上再运行vcpkg重新安装ICU就成功了
pharmacie en ligne france livraison belgique: Levitra 20mg prix en pharmacie – pharmacie en ligne france pas cher
Pharmacie en ligne livraison Europe: kamagra livraison 24h – pharmacie en ligne sans ordonnance
pharmacie en ligne fiable: kamagra en ligne – pharmacie en ligne livraison europe
п»їpharmacie en ligne france: Levitra 20mg prix en pharmacie – trouver un mГ©dicament en pharmacie
Prix du Viagra 100mg en France: Viagra sans ordonnance 24h – SildГ©nafil Teva 100 mg acheter
Viagra pas cher livraison rapide france: viagra sans ordonnance – Viagra sans ordonnance pharmacie France
Sungguh brilian! 👍 Apakah penulisnya dibayar? Saya ingin bergabung!
pharmacie en ligne france pas cher: Cialis sans ordonnance 24h – pharmacies en ligne certifiГ©es
trouver un mГ©dicament en pharmacie: п»їpharmacie en ligne france – pharmacie en ligne france pas cher
Viagra gГ©nГ©rique sans ordonnance en pharmacie: Meilleur Viagra sans ordonnance 24h – Viagra prix pharmacie paris
acheter mГ©dicament en ligne sans ordonnance: pharmacie en ligne france pas cher – acheter mГ©dicament en ligne sans ordonnance
pharmacie en ligne livraison europe: Cialis sans ordonnance 24h – pharmacie en ligne france fiable
vente de mГ©dicament en ligne: Levitra sans ordonnance 24h – pharmacie en ligne pas cher
Great post! I really enjoyed reading it. Thanks for sharing.
п»їpharmacie en ligne france: Pharmacies en ligne certifiees – trouver un mГ©dicament en pharmacie
pharmacie en ligne sans ordonnance: pharmacie en ligne pas cher – pharmacie en ligne france fiable
vente de mГ©dicament en ligne: pharmacie en ligne france pas cher – pharmacie en ligne france pas cher
Posting yang brilian! 👍 Apakah penulisnya dibayar? Saya tertarik untuk bergabung!
pharmacie en ligne fiable: achat kamagra – Pharmacie sans ordonnance
pharmacies en ligne certifiГ©es: pharmacie en ligne avec ordonnance – pharmacie en ligne sans ordonnance
pharmacie en ligne livraison europe: achat kamagra – acheter mГ©dicament en ligne sans ordonnance
pharmacie en ligne fiable: pharmacie en ligne sans ordonnance – Pharmacie sans ordonnance
pharmacie en ligne livraison europe: levitra generique – pharmacie en ligne avec ordonnance
acheter mГ©dicament en ligne sans ordonnance: pharmacie en ligne – Pharmacie Internationale en ligne
acheter mГ©dicament en ligne sans ordonnance: pharmacie en ligne livraison europe – Achat mГ©dicament en ligne fiable
pharmacie en ligne avec ordonnance: Cialis sans ordonnance 24h – pharmacies en ligne certifiГ©es
pharmacies en ligne certifiГ©es: Medicaments en ligne livres en 24h – п»їpharmacie en ligne france
pharmacie en ligne fiable: pharmacie en ligne france pas cher – п»їpharmacie en ligne france
pharmacie en ligne livraison europe: cialis sans ordonnance – pharmacie en ligne avec ordonnance
https://phenligne.shop/# pharmacie en ligne
Pharmacie Internationale en ligne: cialis sans ordonnance – pharmacie en ligne fiable
Pharmacie en ligne livraison Europe: Pharmacie sans ordonnance – pharmacie en ligne sans ordonnance
Hello.
This post was created with XRumer 23 StrongAI.
Good luck 🙂
Achat mГ©dicament en ligne fiable: kamagra oral jelly – vente de mГ©dicament en ligne
Pharmacie Internationale en ligne: acheter kamagra site fiable – pharmacie en ligne france fiable
vente de mГ©dicament en ligne: kamagra pas cher – pharmacie en ligne pas cher
pharmacie en ligne fiable: pharmacie en ligne france fiable – pharmacie en ligne france livraison belgique
Hello!
This post was created with XRumer 23 StrongAI.
Good luck 🙂
pharmacie en ligne livraison europe: kamagra 100mg prix – pharmacie en ligne
pharmacie en ligne france livraison internationale: levitra en ligne – Pharmacie Internationale en ligne
trouver un mГ©dicament en pharmacie: pharmacie en ligne – vente de mГ©dicament en ligne
pharmacie en ligne france fiable: achat kamagra – Pharmacie Internationale en ligne
pharmacie en ligne pas cher kamagra oral jelly pharmacie en ligne avec ordonnance
pharmacie en ligne fiable: Acheter Cialis – pharmacie en ligne france livraison belgique
pharmacie en ligne: trouver un mГ©dicament en pharmacie – trouver un mГ©dicament en pharmacie
https://kamagraenligne.com/# trouver un médicament en pharmacie
pharmacie en ligne sans ordonnance: levitra generique prix en pharmacie – pharmacie en ligne france fiable
pharmacie en ligne france fiable: kamagra en ligne – Pharmacie sans ordonnance
pharmacie en ligne livraison europe: Levitra sans ordonnance 24h – trouver un mГ©dicament en pharmacie
п»їFarmacia online migliore: farmacia online senza ricetta – comprare farmaci online con ricetta