首页 > 解决方案 > 带有 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 .过程中获得的可执行文件。我将收到相同的错误消息窗口。

有什么帮助或想法吗?

标签: c++cmakevcpkg

解决方案


推荐阅读