SQLite 在 Windows 上的编译时不链接
sqlite do not link at compile time on windows
我遇到了一个奇怪的问题。我无法链接到sqlite3 lib(使用柯南的全新安装(。我正在尝试将sqlite3添加到我的一个已经包含大量boost代码的项目中,但这是我第一次遇到这种错误。
int main(int argc, char *const argv[])
{
sqlite3 *dbb = NULL;
sqlite3_open("esrerer", &dbb);
}
这是我收到的错误消息:
main.cpp.obj : error LNK2019: unresolved external symbol_sqlite3_open referred in function main
我使用柯南作为库:
[requires]
boost/1.71.0@conan/stable
sqlite3/3.29.0@bincrafters/stable
[generators]
cmake
以防万一,我的cmake的内容:
cmake_minimum_required(VERSION 3.14)
project(project)
set(CMAKE_CXX_STANDARD 14)
include_directories(Server/include)
include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)
conan_basic_setup()
find_package(sqlite3 REQUIRED)
add_executable(project Server/src/main.cpp)
target_link_libraries(project ${CONAN_LIBS})
编辑:柯南个人资料
[settings]
arch=x86_64
arch_build=x86_64
build_type=Release
compiler=Visual Studio
compiler.runtime=MD
compiler.version=16
os=Windows
os_build=Windows
[options]
[build_requires]
[env]
你想找到SQLITE3作为CMake模块,但你需要考虑两件事:
-
提供 sqlite3 的柯南包在那里有一个 cmake?您可以通过查看包文件夹来检查它:
柯南信息 --路径 sqlite3/3.29.0@bincrafters/稳定
ls/home/user/.conan/data/sqlite3/3.29.0/bincrafters/stable/package/6745b2c67ece017487d93454786f9082519559e7/
那里有一个Find CMake文件,但如您所见,它是驼峰大小写的,如果您在Unix系统上运行,则知道文件名区分大小写。所以你需要改变你的find_package语句:
find_package(SQLite3 REQUIRED)
柯南- 包一般不提供任何CMake文件,因为柯南能够生成它们:
https://docs.conan.io/en/latest/integrations/build_system/cmake.html
因此,在您的情况下,您可以使用cmake_find_package
+cmake
:
[requires]
boost/1.71.0@conan/stable
sqlite3/3.29.0@bincrafters/stable
[generators]
cmake
cmake_find_package
生成的查找 cmake 文件将使用配方中的相同名称:
Findsqlite3.cmake
问候!
相关文章:
- 我可以将一个用clang c++11编译的对象与另一个用c++17编译的对象链接起来吗
- 生成一个生成文件,该生成文件使用Automake在一个步骤中编译和链接所有源文件
- Red Hat:使用<atomic>编译很好,但链接器找不到__atomic_store_16;什么库?
- 在发布模式下启动使用库的静态链接编译的应用程序时出错
- 编译时出错 - 链接.cpp和头文件
- 仅为从某种语言编译的对象添加链接库?
- C++ 为什么在定义的编译和链接之前引用外部实例的程序
- Visual Studio 2017 ARM 交叉编译链接器崩溃
- 在调试配置中编译工作正常,但发布会给出链接错误
- 可视化工作室项目中C++预编译标头未正确链接
- std::to_chars在MacOS/clang上编译但不链接
- 使用共享库编译可执行文件时仅链接所需的符号
- 编译时出现Boost.python链接错误
- 微控制器的首次 gcc 链接器脚本编译但不运行
- CUDA 和C++链接/编译,程序在 cudaMalloc 上崩溃
- 链接/编译时间有关静态模板库
- 链接/编译使用 boost/filesystem.hpp 的程序
- 我们可以动态链接编译的静态库吗?
- 如何在我的项目中使用CMake链接编译的cmph库
- 在msvc++ 2010中,在调试配置中用静态链接编译DLL时,链接器错误