Tips for vcpkg
概述vcpkg是微软开发的在Windows,Linux和MacOS平台管理C/C++库的开源工具。 快速开始要求使用vcpkg需满足如下条件:
安装vcpkg> git clone https://github.com/Microsoft/vcpkg > cd vcpkg PS> .bootstrap-vcpkg.bat Ubuntu:~/$ ./bootstrap-vcpkg.sh 为了让计算机的所有用户都可以使用vcpkg,运行如下命令(首次运行需管理员权限): PS> .vcpkg integrate install Ubuntu:~/$ ./vcpkg integrate install 安装库通过如下命令便可以安装库: PS> .vcpkg install sdl2 curl Ubuntu:~/$ ./vcpkg install sdl2 curl 对于 如果你在安装库时下载速度非常慢甚至下载失败,可以拷贝下载链接自行下载好库的压缩包,然后放在 对于有些库,默认可能不是所有的依赖都安装,如ceres-solver,默认不支持 再比如支持cuda的opencv版本,可以通过命令 卸载vcpkg直接删除vcpkg的文件夹即可。 使用库CMake在CMake中使用通过vcpkg安装的库的最佳方式是通过工具链文件(toolchain file) 要使用这个文件,只需通过命令 cmake .. -DCMAKE_TOOLCHAIN_FILE=vcpkg/scripts/buildsystems/vcpkg.cmake (Linux/MacOS) cmake .. -DCMAKE_TOOLCHAIN_FILE=vcpkgscriptsbuildsystemsvcpkg.cmake (Windows) 再比如,如果要用VS2017编译器,输入下面命令即可: cmake .. -DCMAKE_TOOLCHAIN_FILE=D:vcpkgscriptsbuildsystemsvcpkg.cmake -G "Visual Studio 15 2017 Win64" 还有一种方法,直接在 set(CMAKE_TOOLCHAIN_FILE "D:vcpkgscriptsbuildsystemsvcpkg.cmake") project(PROJECT_NAME) 这里需要注意的是,设置 VisualStudio在VS中,所有已经安装的库都被VS项目自动包含(通过前面提到的 CLion在CLion中的配置如下File -> Settings -> Build,Execution,Deployment -> CMake,在CMake Options中添加 vcpkg命令
vcpkg文件夹构成
更新vcpkg在vcpkg根目录下的ports文件夹中可以看到当前版本包含的所有库,但由于vcpkg项目正在活跃开发中,有时候有些库在你当前的版本中并没有加入,这时可以考虑更新vcpkg。首先拉取vcpkg的远程仓库,更新本地仓库: git fetch origin master:temp // 从远程的origin仓库的master分支下载到本地并新建一个分支temp git diff temp // 比较本地的仓库和远程仓库的区别 git merge temp // 合并temp分支到master分支 git branch -d temp // 如果不想要temp分支了,可以删除此分支 然后重新编译生成vcpkg.exe工具 PS> .bootstrap-vcpkg.bat Linux:~/$ ./bootstrap-vcpkg.sh 然后可以通过命令 参考
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 以编程方式在Server Manager中添加Windows 2008 Server R2中
- WCF自主服务,安装程序类和netsh
- xaml – WinRT&Light主题
- windows-server-2008 – 如何整合来自不同服务器的所有事件
- windows – 通过DHCP禁用TCP / IP上的Netbios不起作用
- wix – 如何在msiexec命令行中设置“取消选中”复选框?
- windows-server-2008 – 更改在Active Directory中复制帐户
- 在Server 2012上安装Windows Management Framework 4.0(Pow
- 适用于Windows的Apple软件更新服务器
- windows – 通过cmd捕获数据包
- windows-server-2008-r2 – 如何确定哪个SMB客户
- Windows上的IP设置
- 有没有办法在Windows上获得超过Meta和Ctrl的方法
- 装配 – 如何在不填充屏幕的情况下清除屏幕
- Windows环境安装Elasticsearch
- win-universal-app – Windows 10的应用内存限制
- remote-desktop – 如何禁用Administrator的RDP访
- windows-server-2012 – Server 2012的IPv6问题
- windows – 如何将转义的双引号传递给批处理文件
- windows-server-2003 – 如何在Windows中监视镜像