vcpkg cmake 踩坑经历
·
在使用vcpkg成功安装库之后,使用cmake进行构建的时候一直提示找不到包,如下所示
我这里安装时调用的是
vcpkg install sqlpp11
CMake Error at CMakeLists.txt:4 (find_package):
Could not find a package configuration file provided by
"unofficial-sqlite3" with any of the following names:
unofficial-sqlite3Config.cmake
unofficial-sqlite3-config.cmake
Add the installation prefix of "unofficial-sqlite3" to CMAKE_PREFIX_PATH or
set "unofficial-sqlite3_DIR" to a directory containing one of the above
files. If "unofficial-sqlite3" provides a separate development package or
SDK, be sure it has been installed.
最后发现在CMakeLists.txt里面需要添加这样一行,这里是我本机的vcpkg路径,需要根据自己电脑安装位置填写
include(/home/ubuntu/home/vcpkg/scripts/buildsystems/vcpkg.cmake)
成功解决问题
完整CMakeLists.txt文件如下所示:
cmake_minimum_required(VERSION 3.0)
project(test)
include(/home/ubuntu/home/vcpkg/scripts/buildsystems/vcpkg.cmake)
find_package(unofficial-sqlite3 CONFIG REQUIRED)
add_executable(testvcpkg test_vcpkg.cpp)
target_link_libraries(testvcpkg PRIVATE unofficial::sqlite3::sqlite3)
test_vcpkg,.cpp 文件如下所示
#include <iostream>
#include <sqlite3.h>
int main() {
sqlite3 *db;
int rc = sqlite3_open("test.db", &db);
if (SQLITE_OK == rc) {
std::cout << "Hello Geek! The SQLite database opened successfully! \n";
sqlite3_close(db);
} else {
std::cout << "Can't open the SQLite database: " << sqlite3_errmsg(db) << "\n";
}
return 0;
}
编译命令
cmake -G Ninja -S . -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=/home/ubuntu/home/vcpkg/scripts/buildsystems/vcpkg.cmake
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)