automake undefined reference

时间:2016-09-07 06:15:01

标签: gcc makefile g++

我在链接静态库时遇到了问题..

我已经检查并继续进行一些方法来解决它,比如..重新排序库或使用一些选项..

但是,我所做的一切都没有用。

- 首先,我非常确定它来自链接错误,因为我已经通过nm命令检查了.a文件,并且错误日志中显示了特定的功能。

所以,我链接了如下的静态库..

  

LOCAL_LINK_STATIC_LIBS:= \          -I $(LIBDIR)/libmicrohttpd.a \          -I $(LIBDIR)/libcryptopp.a \          ...

     

myprog_LDFLAGS = -lstdc ++ -g -ldl -lpthread @ GLIB_CFLAGS @ $(LOCAL_LINK_STATIC_LIBS)

还有其他方法可以解决吗?我真的需要你的反馈.. 谢谢你的阅读。

1 个答案:

答案 0 :(得分:0)

您只能使用-l选项提供名称,例如-lmicrohttpd。链接器将添加“lib”和“.a”或“.so”。使用-L选项设置库的搜索路径,例如-L$(libdir)

同时尝试使用-pthread代替-lpthread-lpthread仅链接pthread库,而-pthread将执行一些额外的工作。