gpt4 book ai didi

sqlite - CMake的链接器错误

转载 作者:行者123 更新时间:2023-12-03 19:33:23 26 4
gpt4 key购买 nike

我正在使用JetBrains CLion进行纯C(C ANSI)开发,我知道它的目标是C ++,但是我的公司仅在C和
CLion仅使用CMake作为构建系统。

我的系统是Debian Jessie系统,并安装了sqlite3和libsqlite3-dev。

我正在尝试构建一个像这样的简单sqlite3项目:

#include <sqlite3.h>
#include <stdio.h>

int main() {
sqlite3 *sqlConnection;
int ret;
ret = sqlite3_open("database/path.db, &sqlConnection);
if (ret) {
printf("Ups ... can't open %d", ret);
}
do_some_queries(sqlConnection);
return 0;
}


自动生成的CMakeLists.txt如下。

cmake_minimum_required(VERSION 3.3)


project(Project)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")

set(SOURCE_FILES main.cpp )
add_executable(Project ${SOURCE_FILES})


在通过Clion,通过命令行构建时,出现链接器错误:

...
undefined reference to `sqlite3_prepare_v2'
undefined reference to `sqlite3_column_int'
undefined reference to `sqlite3_open'
...


我知道我必须指出sqlite3所在的CMake,但我找不到解决方法。

“ find_package”和“ find_library”可以做到这一点,但我找不到方法。

我也找到了 this Cmake file,但无法成功使用。

那么,如何将sqlite3与Cmake集成在一起?

最佳答案

您需要将sqlite头文件的路径添加到包含路径。然后使用target_link_libraries链接sqlite库:

https://cmake.org/cmake/help/v3.3/command/target_link_libraries.html

关于sqlite - CMake的链接器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38402039/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com