我试图在VS代码中设置vcpkg和CMake,以便与MSVC编译器一起使用。
我遵循了这个指南
https://learn.microsoft.com/en-us/vcpkg/examples/installing-and-using-packages
当我第一次使用状态栏中的CMake选项“Launch”启动目标时,程序运行得很完美。我试着第二次启动,做了一个小改动,但没有成功。
过了一段时间,我发现第一次建造这个项目效果很好。如果我转到Debug文件夹,我可以看到main.exe和sqlite3.dll文件。当我执行main.exe时,它会执行它应该执行的操作。
在使用CMake构建项目后,当我单击“启动目标”时,.dll文件会自动删除,因此我会清理并重建,从而恢复.dll文件。
我的问题是,当我在vscode的状态栏中按Launch时,有没有办法阻止CMake删除.dll文件?
项目中的文件:
CMakeLists.txt
# CMakeLists.txt
cmake_minimum_required(VERSION 3.0)
project(test)
# Set the path to the toolchain file
set(CMAKE_TOOLCHAIN_FILE "C:/vcpkg/scripts/buildsystems/vcpkg.cmake")
set(unofficial-sqlite3_DIR "C:/vcpkg/packages/sqlite3_x64-windows/share/unofficial-sqlite3")
find_package(unofficial-sqlite3 CONFIG REQUIRED)
add_executable(test main.cpp)
target_link_libraries(test PRIVATE unofficial::sqlite3::sqlite3)
main.cpp
// main.cpp
#include <sqlite3.h>
#include <stdio.h>
#include <iostream>
int main(){
std::cout << sqlite3_libversion() << std::endl;
std::cout << "Hello, World" << std::endl;
return 0;
}