江南弄 2023-07-02 23:17 采纳率: 77.8%
浏览 16
已结题

在centos下利用cmake链接mysql数据库时报错

在centos下开发服务器,利用vs中的cmake链接工具构建整个项目,但是在cmake链接mysql数据库时报错,执行cmake时通过,但是执行make时报错,信息如下:

make
[ 25%] Linking CXX executable imchatserver
/usr/bin/ld: 找不到 -lmysql
collect2: 错误:ld 返回 1
make[2]: *** [IM_server/CMakeFiles/imchatserver.dir/build.make:97:IM_server/imchatserver] 错误 1
make[1]: *** [CMakeFiles/Makefile2:100:IM_server/CMakeFiles/imchatserver.dir/all] 错误 2
make: *** [Makefile:91:all] 错误 2


而整个cmake 的代码如下:

cmake_minimum_required (VERSION 3.8)

project(IM_Server)

#这个宏,会影响编译参数
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x -g -Wall -O0 -Wno-unused-variable -pthread")

#设置库目录
link_directories(# 针对64位的
    ${PROJECT_SOURCE_DIR}/lib
    /usr/lib64/mysql/
)

#查找库路径
find_library(MYSQL_LIB libmysqlclient.so.21 /usr/lib64/mysql/)
if (NOT MYSQL_LIB)#NOT 只能用大写
    message(FATAL_ERROR "not found mysqlclient.so at /usr/lib64/mysql/")
endif(NOT MYSQL_LIB)#必须进行匹配,否则会报错

set(chat_srcs
"IM_server.cpp"
"IM_server.h")

# 将源代码添加到此项目的可执行文件。
add_executable (imchatserver ${chat_srcs})

#只是确认库存在或者设置库目录,是没有用的,需要链接进来才能起效果
target_link_libraries(imchatserver mysql)

# 将源代码添加到此项目的可执行文件。
add_executable (imfileserver ${chat_srcs})
#只是确认库存在或者设置库目录,是没有用的,需要链接进来才能起效果
target_link_libraries(imfileserver)

img

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-07-03 08:29
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:
    • 这篇博客: Centos7.4 如何使用cmake编译安装mysql中的 连接数据库 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:
      mysql  -u user -p                   
      例:mysql -u root -p
      常见错误如下:
      ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2), it means that the MySQL server daemon (Unix) or service (Windows) is not running.
      退出连接:
      QUIT 或者 Ctrl+D
      
      

    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 7月3日
  • 创建了问题 7月2日

悬赏问题

  • ¥15 C++ 句柄后台鼠标拖动如何实现
  • ¥15 有人会SIRIUS 5.8.0这个软件吗
  • ¥30 comsol仿真等离激元
  • ¥15 静电纺丝煅烧后如何得到柔性纤维
  • ¥15 (标签-react native|关键词-镜像源)
  • ¥100 照片生成3D人脸视频
  • ¥15 伪装视频时长问题修改MP4的时长问题,
  • ¥15 JETSON NANO
  • ¥15 VS开发qt时如何在paintgl函数中用pushbutton控制切换纹理
  • ¥20 关于 openpyxl 处理excel文件地问题