【问题标题】:cannot find -lmysqlclient collect2: ld returned 1 exit status找不到 -lmysqlclient collect2: ld 返回 1 退出状态
【发布时间】:2010-06-29 12:25:40
【问题描述】:

调用:Cygwin C++ 链接器 g++ -nostartfiles -L"E:\cygwin\lib\mysql\lib" -lmysqlclient -lz -shared -o"final.so" ./src/one.o ./src/two.o ./src/three. o ./src/four.o ./src/five.o
/usr/lib/gcc/i686-pc-cygwin/4.3.4/../../../../i686-pc-cygwin/bin/ld:找不到-lmysqlclient collect2: ld 返回 1 个退出状态

【问题讨论】:

  • 这不是谷歌,你的不是问题而是错误信息
  • 错误信息仅供参考...我不知道这里有什么问题..为什么会出现这个错误

标签: linker g++ eclipse-cdt


【解决方案1】:

错误消息指出找不到 mysqlclient 库。由于您使用的是 Cygwin,因此问题可能是您使用的是 Windows 样式的路径 -L"E:\cygwin\lib\mysql\lib"。我相信 GNU C++ 链接器需要一个 Unix 风格的路径,例如 -L"/lib/mysql/lib"

如果没有更具体的信息,很难说。

【讨论】:

  • @ERIK 更多细节 > libmysqlclient.so 存在于 E:\cygwin\lib\mysql\lib n 下,但未正确链接。我不认为它的路径 prb coz 编译阶段使用相同的路径正确执行。你能告诉我怎么做吗
  • 在 Project->properties->C++ Build->settings->Cygwin c++ Linker->Libraries 添加了以下库 (-l) mysqlclient.so 库搜索路径 (-L) E:\cygwin\ lib\mysql\lib
  • 我认为 g++ 在编译阶段不会尝试使用 -L 路径,因此您不会注意到那里的问题。
  • 即使在路径更改之后 ----> 构建目标:final.so 调用:Cygwin C++ Linker g++ -o"final.so" ./src/one.o ./src/two.o ./src/three.o ./src/four.o ./src/five.o -nostartfiles -L/cygdrive/e/cygwin/usr/local/lib -lmysqlclient -lz -shared /usr/lib/gcc/ i686-pc-cygwin/4.3.4/../../../../i686-pc-cygwin/bin/ld:找不到-lmysqlclient collect2:ld返回1退出状态make:* [final.so ] 错误 1
猜你喜欢
  • 1970-01-01
  • 2011-08-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-01
  • 1970-01-01
  • 2014-09-03
相关资源
最近更新 更多