将mariadb-connector-cpp与cmake项目一起使用

0mkxixxg  于 2022-11-08  发布在  其他
关注(0)|答案(1)|浏览(166)

github repo。我正在使用c++20与cmake在visual studio上对wsl进行编程,并在加载共享库时出错。找不到文件libmariadb.so.3。
我使用构建说明在wls上为Debian & Ubuntu构建了它,它被安装在这些路径中。

所以在我能力里,

find_package(mariadbcpp)
include_directories("/usr/local/include/mariadb")
link_directories("/usr/local/lib/mariadb")
target_link_libraries(${PROJECT_NAME} mariadbcpp)

运行时出现以下错误
加载共享库时出错:3:无法打开共享对象文件:没有这样的文件或目录
我试着逃跑

sudo /sbin/ldconfig -v

我也试着将它包含在我顶级cmake中

SET(CMAKE_SKIP_BUILD_RPATH  FALSE)
SET(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE) 
SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
SET(CMAKE_INSTALL_RPATH "/usr/local/lib/mariadb")
flvlnr44

flvlnr441#

要使其工作,您只需将此添加到您cmake中

include_directories("/usr/include/mariadb") #path to include folder
add_library(mariadbcpp STATIC IMPORTED)
set_property(TARGET mariadbcpp PROPERTY IMPORTED_LOCATION "/usr/lib/libmariadbcpp.so") #path to libmariadbcpp.so

则只包括


# include <conncpp.hpp>

在源代码中
为了安装,我按照this Debian/Ubuntu,在第10步中,安装libmariadbcpp.so.3和lib/mariadb的命令应该是lib 64/mariadb...,如下所示

sudo install lib64/mariadb/libmariadbcpp.so /usr/lib
sudo install lib64/mariadb/libmariadbcpp.so.3 /usr/lib
sudo install lib64/mariadb/plugin/* /usr/lib/mariadb/plugin

相关问题