0
我試圖用autotools創建一個靜態庫,但它只接受具有相同名稱的庫的cpp文件並忽略其他源文件。Automake忽略用於構建庫的多個源文件
Makefile.am
AM_CXXFLAGS=-std=c++11
lib_LIBRARIES = mylib.a
mylib_a_SOURCES = dep1.cpp dep2.cpp mylib.cpp
automake和賺不抱怨,但只編譯mylib.cpp並把它變成一個庫。當我嘗試鏈接它時,我收到錯誤,如
dep1.cpp undefined reference to dep1::method_name
請幫忙。幾個小時以來,我一直在敲擊鍵盤。沒有製作圖書館的教程。我能找到的唯一的autotool文檔是5行hello world例子或5000頁的書籍,裏面沒有例子或上下文。
您可以發佈您的系統執行的實際鏈接命令嗎?如果您已將Automake置於安靜模式,請嘗試使'V = 1'來查看細節。 – ptomato
我總是推薦通過'CXX'變量傳遞'dialect'選項:例如'CXX =「g ++ -std = C++ 11」'或'CXX =「鏗鏘聲++ -std = C++ 11 -stdlib = libC++ 「' - 爲優化級別,架構標誌等離開'CXXFLAGS'。 –