我正在尝试构建一个项目,at-spi2-core,我正在获取未定义的引用。显然,x11库没有链接。但是,我很想看看makefile实际输出的是什么命令。现在输出就像这样:
CCLD at-spi2-registryd
/home/deividas/Desktop/storage/Soft/MXE/mxe/usr/x86_64-pc-linux-gnu.static/lib/libXtst.a(XTest.o): In function `find_display':
/home/deividas/Desktop/storage/Soft/MXE/mxe/tmp-xtst-x86_64-pc-linux-gnu.static/libXtst-1.2.1/src/XTest.c:83: undefined reference to `XextFindDisplay'
/home/deividas/Desktop/storage/Soft/MXE/mxe/tmp-xtst-x86_64-pc-linux-gnu.static/libXtst-1.2.1/src/XTest.c:83: undefined reference to `XextCreateExtension'
/home/deividas/Desktop/storage/Soft/MXE/mxe/tmp-xtst-x86_64-pc-linux-gnu.static/libXtst-1.2.1/src/XTest.c:83: undefined reference to `XextAddDisplay'
/home/deividas/Desktop/storage/Soft/MXE/mxe/usr/x86_64-pc-linux-gnu.static/lib/libXtst.a(XTest.o): In function `XTestCompareCursorWithWindow':
/home/deividas/Desktop/storage/Soft/MXE/mxe/tmp-xtst-x86_64-pc-linux-gnu.static/libXtst-1.2.1/src/XTest.c:136: undefined reference to `XMissingExtension'
/home/deividas/Desktop/storage/Soft/MXE/mxe/usr/x86_64-pc-linux-gnu.static/lib/libXtst.a(XTest.o): In function `XTestFakeKeyEvent':
/home/deividas/Desktop/storage/Soft/MXE/mxe/tmp-xtst-x86_64-pc-linux-gnu.static/libXtst-1.2.1/src/XTest.c:167: undefined reference to `XMissingExtension'
/home/deividas/Desktop/storage/Soft/MXE/mxe/usr/x86_64-pc-linux-gnu.static/lib/libXtst.a(XTest.o): In function `XTestFakeButtonEvent':
/home/deividas/Desktop/storage/Soft/MXE/mxe/tmp-xtst-x86_64-pc-linux-gnu.static/libXtst-1.2.1/src/XTest.c:188: undefined reference to `XMissingExtension'
/home/deividas/Desktop/storage/Soft/MXE/mxe/usr/x86_64-pc-linux-gnu.static/lib/libXtst.a(XTest.o): In function `XTestFakeMotionEvent':
/home/deividas/Desktop/storage/Soft/MXE/mxe/tmp-xtst-x86_64-pc-linux-gnu.static/libXtst-1.2.1/src/XTest.c:208: undefined reference to `XMissingExtension'
/home/deividas/Desktop/storage/Soft/MXE/mxe/usr/x86_64-pc-linux-gnu.static/lib/libXtst.a(XTest.o): In function `XTestFakeRelativeMotionEvent':
/home/deividas/Desktop/storage/Soft/MXE/mxe/tmp-xtst-x86_64-pc-linux-gnu.static/libXtst-1.2.1/src/XTest.c:234: undefined reference to `XMissingExtension'
/home/deividas/Desktop/storage/Soft/MXE/mxe/usr/x86_64-pc-linux-gnu.static/lib/libXtst.a(XTest.o):/home/deividas/Desktop/storage/Soft/MXE/mxe/tmp-xtst-x86_64-pc-linux-gnu.static/libXtst-1.2.1/src/XTest.c:301: more undefined references to `XMissingExtension' follow
/home/deividas/Desktop/storage/Soft/MXE/mxe/usr/x86_64-pc-linux-gnu.static/lib/libXtst.a(XTest.o): In function `close_display':
/home/deividas/Desktop/storage/Soft/MXE/mxe/tmp-xtst-x86_64-pc-linux-gnu.static/libXtst-1.2.1/src/XTest.c:88: undefined reference to `XextRemoveDisplay'
collect2: error: ld returned 1 exit status
CCLD根本没用。我在http://www.gnu.org/software/automake/manual/html_node/Debugging-Make-Rules.html尝试了一些东西,但似乎没有输出如何执行ld。此部分发生在registryd的内部文件夹中,而不是在根目录中(如果有任何相关性)。有没有人用autotools获得正常的调试输出有类似的问题?
答案 0 :(得分:1)
普通的makefile总是打印出它们执行的命令; CCLD
和类似的输出是由Autotools“静默规则”功能引起的。要在make
的一次运行中禁用它,请运行make V=1
(V代表Verbose)。要永久禁用它,请使用--disable-silent-rules
再次运行configure。