libtool archive

时间:2015-04-24 18:04:51

标签: linker dynamic-linking automake libtool

我正在研究C代码,但需要配合C ++代码。我的Makefile.am有像

这样的行
libfoo_la_LIBADD += -lstdc++

但生成的libtool存档libmhd.la在dependency_libs中没有-lstdc ++,并且在链接时错误如“未定义的引用”到stdc ++符号刷新我的屏幕。我试图将-lstdc ++添加到libfoo_la_LDFLAGS,也试过“make LDFLAGS = -lstdc ++”,但都没有帮助。

我从libstdc++ mail list读到,从libtool postdeps for CXX中删除了-lstdc ++。如何在Makefile.am或命令行中手动强制它?

感谢。

1 个答案:

答案 0 :(得分:0)

事实证明,如果我将-lstdc ++选项附加到最终的可执行文件的LDADD,即myexe_LDADD = -lstdc++ $(LDADD),那么它可以工作。要生成.la文件,libtool不需要链接到libstdc ++(尚未),因此删除了-lstdc ++选项。