gpt4 book ai didi

mysql - 找不到符号 mysql_select_db@libmysqlclient_16 的版本节点

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:29:05 29 4
gpt4 key购买 nike

我试图使用 mysql c api 在 linux 上构建我的应用程序,并在链接阶段遇到此错误,它在 windows 上工作正常。请帮忙,谢谢!

错误信息:

/bin/ld: myapp.so : version node not found for symbol mysql_select_db@libmysqlclient_16
/bin/ld: failed to set dynamic section sizes: Bad value

操作系统:CentOS 7,64 位,(虚拟机上的虚拟机)

Mysql:5.6.24(社区版,通过yum安装)

.bashrc 文件

export LIBMYSQL_INCLUDE_DIR=/usr/include/mysql
export LIBMYSQL_LIBRARY=/usr/lib64/mysql
export LD_LIBRARY_PATH=/usr/lib64/mysql:$LD_LIBRARY_PATH

cmake文件:(变量根据环境变量设置)

FILE(GLOB SRC_MYAPP myapp/*.c myapp/*.h)
INCLUDE_DIRECTORIES(${LIBMYSQL_INCLUDE_DIR})

ADD_LIBRARY(myapp ${SRC_MYAPP})
IF (MSVC_IDE)
TARGET_LINK_LIBRARIES(myapp ${LIBMYSQL_LIBRARY}/libmysql)
ELSE ()
TARGET_LINK_LIBRARIES(myapp ${LIBMYSQL_LIBRARY}/libmysqlclient_r.a)
ENDIF ()

最佳答案

将@hank 的评论作为答案

我想你应该在 add_library 之前添加 link_directories(/usr/lib64/mysql) 然后是 target_link_libraries(myapp mysqlclient_r) – hank May 12 点 12:50

关于mysql - 找不到符号 mysql_select_db@libmysqlclient_16 的版本节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30181452/

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