- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第
CMake中使用vcpkg的实现
目录CMake构建的项目中引入开源库vcpkg安装开源库vcpkg是一个微软开源的C++包管理器。
在以前的开发中,如果在项目中需要使用某个开源库,例如qt,我们需要取官网下载qt的源码,然后构建得到对应的库,然后在项目中链接这个库。对于自己熟悉的库还好说,若是不熟悉的库,如何拉取源码?如何构建?如何在项目中引用?等等这些问题通常会困扰我们,然而,大多数情况下,我们只是使用这个开源库,并不需要关心这个库的构建和编译等问题。如此,在以前的开发过程中,往往会花费不少的时间在引入开源库上。
vcpkg是在背景下开发出来的,通过vcpkg,我们可以在项目中很方便的引入开源库,不用再关心拉取代码、构建开源库的这些事情。
CMake构建的项目中引入开源库
如果我们的项目是用cmake作为构建系统,那么如何引入开源库呢?
使用vcpkg安装我们需要的开源库在CMakeLists中引入需要的开源库
vcpkg安装开源库
例如需要使用QtWidgets,打开powershell,输入vcpkginstallqt5-base
CMakeLists中引入开源库
目录结构:在路径D:\Document\MyCode\vcpkgsample下|
|main.cpp
|CMakeLists.txt
cmake_minimum_required(VERSION2.8.12)
#设置CMAKE_TOOLCHAIN_FILE将vcpkg.cmake的路径赋值给CMAKE_TOOLCHAIN_FILE变量。必须在project函数
#之前设置
SET(CMAKE_TOOLCHAIN_FILE${VCPKG_ROOT}\\vcpkg\\scripts\\buildsystems\\vcpkg.cmake)
project(VcpkgSample)
set(EXECUTABLE_NAMEVcpkgSample)
#添加qt5widgets库的目录
find_package(qt5widgetsQUIETCONFIGREQUIRED)
add_executable(${EXECUTABLE_NAME}main.cpp)
#链接qt5widgets库
target_link_libraries(${EXECUTABLE_NAME}${Qt5Widgets_LIBRARIES})
main.cpp代码如下
#includeQtWidgets/QApplication
intmain(intargc,char*argv[])
QApplicationa(argc,argv);
returna.exec();
}
打开x86CommandPrompt命令行,依次输入
cd/DD:\Document\MyCode\vcpkgsample
mkdirbuild
cdbuild
cmake-GVisualStudio152017..-DVCPKG_ROOT=E:\code
其中VCPKG_ROOT选项是指定vcpkg安装的目录,本机安装在E:\code目录下。
就在build目录下,生成了vs2017解决方案,执行编译。
msbuildVcpkgSample.sln/p:platform=Win32
文档评论(0)