我对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;
}
然后按照本教程所示运行build命令:
cmake ..
cmake --build .
这两个命令始终正确运行。
我尝试使用Visual Studio打开在.sln
进程中生成的cmake ..
文件,并尝试对其进行构建,出现以下错误:
The application was unable to start correctly(0xc000007b)
如果我尝试访问main.exe
过程中获得的cmake --build .
可执行文件。我将看到相同的错误消息窗口。
有什么帮助或想法吗?