mnpgl 2017-07-22 02:36 采纳率: 100%
浏览 3313
已采纳

/usr/bin/ld: 找不到 -lmsqlclient 关于这个问题残留疑惑,和解决方案

先上一张暂时解决问题的图图片说明

我从网上看到都说是环境配置问题,我应该怎么更改配置?!

  • 写回答

1条回答 默认 最新

  • 呆的久 2017-07-22 03:12
    关注
    首先... 你是不是拼错了,看上去少个y?
    -lmysqlclient
    
    如果你使用
    g++ -Wall conntext.cpp -o conn -lmysqlclient
    还是报错的话,那就是linux搜索路径里没有包含libmysqlclient.so所在路径。
    
    你执行下mysql_config --cflags --libs就明白了。
    在我机器上执行结果是这样的(不同机器上返回路径可能有所不同)
    chao@chao-VirtualBox:~$ mysql_config --cflags --libs
    -I/usr/include/mysql 
    -L/usr/lib/x86_64-linux-gnu -lmysqlclient -lpthread -lz -lm -lrt -ldl
    
    也就是说,你输入这个命令
    g++ conntext.cpp `mysql_config --cflags --libs`
    实际上在执行的是
    g++ conntext.cpp -I/usr/include/mysql -L/usr/lib/x86_64-linux-gnu -lmysqlclient -lpthread -lz -lm -lrt -ldl
    你可以看到,这个命令指定了额外的lib路径
    
    如果你想用第一种方法编译的话,方法很多
    你可以手动把mysql_config --cflags --libs返回的路径添加到
    环境变量$PATH或者$LD_LIBRARY_PATH里
    你也可以做个在/usr/lib做个libmysqlclient.so的软连接
    就是不太灵活罢了
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥50 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥200 uniapp长期运行卡死问题解决
  • ¥15 latex怎么处理论文引理引用参考文献
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?