2015-04-24 21 views
0

我正在研究C代碼,但需要與C++代碼耦合。我Makefile.am有一個像-lstdC++到LIBADD選項剝離libtool存檔

libfoo_la_LIBADD += -lstdc++ 

線,但所產生的libtool檔案libmhd.la沒有-lstdC++在dependency_libs,並在鏈接時間錯誤,如刷新我的屏幕「未定義的引用」,以STDC++符號。我試圖添加-lstdC++到libfoo_la_LDFLAGS,也試過「make LDFLAGS = -lstdC++」,但都沒有幫助。

我從libstdc++ mail list讀取了-lstdC++從libtool postdeps中刪除了CXX。我如何在Makefile.am或命令行中手動強制它?

謝謝。

回答

0

原來,如果我將-lstdC++選項追加到最終的可執行文件的LDADD中,即myexe_LDADD = -lstdc++ $(LDADD),那麼它就起作用。要生成.la文件,libtool不需要鏈接到libstdC++(還),因此-lstdC++選項被刪除。