【问题标题】:How to hide linker warning如何隐藏链接器警告
【发布时间】:2013-01-21 17:37:58
【问题描述】:

我正在使用MySql lib,当我编译时,虽然编译没问题,但我有这个警告:

g++: -lmysqlclient: 链接器输入文件未使用,因为链接未完成

我正在使用 automake,我必须在 configure.ac 中添加 -lmysqlclient,所以我猜链接器在每个文件中都会警告我不需要链接。

我的问题是,如何隐藏该特定警告?

谢谢!

【问题讨论】:

  • 你好像在编译文件的时候使用了-lmysqlclient,只有在链接的时候才需要,编译源文件的时候不要加-lmysqlclient。请在编译和链接程序时使用您正在运行的命令。
  • 这是编译时的输出,对于每个文件:g++ -DHAVE_CONFIG_H -I。 -I../.. -I../../include -g -O2 -g -O0 -DDEBUG -pipe -Wall -D_REENTRANT -I/usr/include/libxml2 -lmysqlclient -MT Attr.lo -MD - MP -MF .deps/Attr.Tpo -c Attr.cxx -o Attr.o g++:-lmysqlclient:链接器输入文件未使用,因为链接未完成 g++:-lmysqlclient:链接器输入文件未使用,因为链接未完成
  • For example, the -c option says not to run the linker 说手册页
  • @nos 的评论(为什么是评论)是正确答案。

标签: c++ mysql gcc


【解决方案1】:

解决了!要使用 automake 添加 LD 选项,我需要添加

libsomething_la_LIBADD=-lmysqlclient

进入 Makefile.am。

现在就像@nos 所说,我没有在编译中添加 -lmysqlclient 。谢谢大家!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-03-25
    • 1970-01-01
    • 1970-01-01
    • 2018-06-26
    • 1970-01-01
    • 1970-01-01
    • 2019-10-20
    • 2016-05-20
    相关资源
    最近更新 更多