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'。 –