重新排序GNU Autotools链接器标志

Reordering gnu autotools linker flags

本文关键字:Autotools 链接 标志 GNU 新排序 排序      更新时间:2023-10-16

我正在使用我在C 的项目中使用gnu autotools(自动方面配置是由eclipse cdt自动生成的,但我认为这并不重要)。我正在使用llvm libs,现在我正面临着链接标志订单的问题。

基本上,在构建项目时,Eclipse执行" Make"。使执行很多命令,但最后它执行G 编译器如下:

g++ -DPACKAGE_NAME="test" -DPACKAGE_TARNAME="test" -DPACKAGE_VERSION="1.0" -DPACKAGE_STRING="test 1.0" -DPACKAGE_BUGREPORT="" -DPACKAGE_URL="" -DPACKAGE="test" -DVERSION="1.0" -I.    `llvm-config --cppflags --ldflags --libs core` -g -O2 -MT test.o -MD -MP -MF .deps/test.Tpo -c -o test.o test.cpp
mv -f .deps/test.Tpo .deps/test.Po

然后链接器:

g++ `llvm-config --cppflags --ldflags --libs core` -g -O2   -o a.out test.o

问题是,如果参数" test.o"不在行的开头,则链接器将失败,因此应该是:

g++ test.o `llvm-config --cppflags --ldflags --libs core` -g -O2   -o a.out

如何在makefile.am中更改它或gnu autotools的任何配置文件?

我还没有找到答案,但是到目前为止,我发现LLVM与包含自定义自动化系统系统的项目模板捆绑在一起,该模板以正确的方式处理所有内容。p>如果要访问模板,可以在$ llvmsrc/projects/sample文件夹中找到它。