CMake+Vcpkg+VS2022配置github上的cmake开源项目外部库
我们以采用 GitHub 上的开源库 cuda-bundle-adjustment 为例,其不能直接用vcpkg进行安装,只能通过cmake编译后链接到VS2022。
将 cuda-bundle-adjustment 库通过 CMake 编译链接到 Visual Studio 2022 步骤操作:
克隆存储库:使用 git 命令克隆 cuda-bundle-adjustment
git clone https://github.com/fixstars/cuda-bundle-adjustment.git
创建构建目录:在克隆的 cuda-bundle-adjustment 目录内创建一个名为“build”的文件夹,这将用作构建目录,以保持源代码目录的干净和分离
配置CMake:使用CMake GUI 进行操作
注意:我们的 Eigen3、 OpenCV 和 cuda 的一些前置条件库都是使用的 vcpkg 安装的,所以我们需要将 vcpkg 链接到这里:
在 cuda-bundle-adjustment 目录下的 CMakeLists.txt 中的第一行添加:
set(CMAKE_TOOLCHAIN_FILE "[你的vcpkg路径]/vcpkg/scripts/buildsystems/vcpkg.cmake" CACHE STRING "Vcpkg toolchain file")
- 选好源码地址和 build 地址
- 再配置好红色部分的属性(一些设置,具体可见项目的README)
- 点击下方
Configure
编译 - 再点击
Generate
生成 build
这会生成一个 Visual Studio 2022 项目,并将其输出到 build 目录中
构建项目:在 Visual Studio 中,选择要构建的项目配置(例如Debug或Release),然后右击 ALL_BUILD,选择“生成”,即可在对应 Release 文件夹中得到 cuda_bundle_adjustment.lib
加入VS项目:前面得到的是静态库 .lib 文件,接下来将 .lib 文件放入VS项目文件夹的lib文件夹(自己建一个)中,并且将 cuda-bundle-adjustment 目录下中的 include 文件夹复制到VS项目文件夹中
配置VS项目:在项目的属性进行如下设置,添加
.\include
和.\lib
到下面的三个地方特别提醒:注意属性上方的“配置”和“平台”要和运行项目时的一致
并且添加静态库文件的完整文件名称到如下地方:
这样与链接器中的常规的附加库目录就构成了完整的
.lib
文件的路径:./lib/cuda_bundle_adjustment.lib
完成!运行!