c++ - 带有 vcpkg 和 cmake 的简单 C++ 项目:无法使用已安装的库运行
问题描述
我对 C++ 及其生态系统很陌生,仍在学习。最近我正在尝试学习如何安装一个库并在我的项目中使用它。
我正在关注以下链接中的教程:https ://vcpkg.readthedocs.io/en/latest/examples/installing-and-using-packages/
我对基本用法没意见,vcpkg
并按照教程安装sqlite3
库。
并且还学习了基础的东西cmake
。随着教程的进行:The best way to use installed libraries with cmake is via the toolchain file
. 所以我准备了以下内容CMakeLists.txt
:
cmake_minimum_required(VERSION 3.0)
set(CMAKE_TOOLCHAIN_FILE "C:/Develop/test/cpp/test-vcpkg/vcpkg/scripts/buildsystems/vcpkg.cmake")
project(test)
set(sqlite3_DIR "C:/Develop/test/cpp/test-vcpkg/vcpkg/installed/x64-windows/share/sqlite3")
find_package(sqlite3 CONFIG REQUIRED)
add_executable(main main.cpp)
target_link_libraries(main sqlite3)
我CMakeLists.txt
的和教程中的有点不同,我设置了教程sqlite3_DIR
中没有提到的(如果我没有添加它,构建过程会失败。)
源文件非常简单,如下所示:
#include <sqlite3.h>
#include <stdio.h>
int main()
{
printf("%s\n", sqlite3_libversion());
return 0;
}
我按照教程所示运行构建命令:
cmake ..
cmake --build .
这两个命令运行没有错误。
我尝试用visual studio打开过程中.sln
生成的文件cmake ..
,并尝试构建它,得到以下错误:
The application was unable to start correctly(0xc000007b)
如果我尝试main.exe
在此cmake --build .
过程中获得的可执行文件。我将收到相同的错误消息窗口。
有什么帮助或想法吗?
解决方案
推荐阅读
- redis - WSL Redis 遇到 System has not been booted with systemd as init system (PID 1)。无法操作
- javascript - 如何动态更改前缀到所有节点/快速路由
- ruby-on-rails - 如何在 RSPEC 中使用 .try 方法存根函数
- ruby-on-rails - 导轨。查看trips/1,在视图中我有一个promise,当它解决后,我被重定向到trips/[object%20Object]
- apache-kafka - kafka 2.0.0 是可以用于生产的稳定版本吗?
- node.js - 关于如何为聊天应用设计良好架构的建议?
- vmware - 在 VMWare 中安装 ubuntu 时出错
- reactjs - reduxForm 中的“原始”和“提交”是什么?
- angular - ipad 中的 mouseenter 和单击优先级
- android - 在 Android 中使用 5Mill 条目占用 0.5GB 的 SQLite 数据库是否可行?