我正在研究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或命令行中手动强制它?
感谢。
答案 0 :(得分:0)
事实证明,如果我将-lstdc ++选项附加到最终的可执行文件的LDADD,即myexe_LDADD = -lstdc++ $(LDADD)
,那么它可以工作。要生成.la文件,libtool不需要链接到libstdc ++(尚未),因此删除了-lstdc ++选项。