我试图在Mac OS X上构建libpipeline
,但我遇到了其他使用autotools
的程序时遇到的错误。libpipeline无法在Mac OS X上编译
这是第一个错误,我得到:
/Developer/usr/bin/ranlib: file: .libs/libgnu.a(sig-handler.o) has no symbols
第二个错误是更加神秘:
warning: /Developer/usr/bin/nm: no name list
最后,我得到这个错误,这是推测的前一个错误的高潮。
Undefined symbols for architecture x86_64:
"_program_name", referenced from:
_error in libgnu.a(error.o)
_error_at_line in libgnu.a(error.o)
ld: symbol(s) not found for architecture x86_64
完整的日志:https://gist.github.com/ahyattdev/7e4da95d48a6d25ad77aad926a14e7b0
重现步骤:获取的libpipeline 1.4.1
源,运行configure; make
。
第一个不是错误,它是一个简单的信息性消息。不过,据我所知,OS X上不支持'libpipeline'和'libgnu'。 – Leandros
'program_name'是外部符号。尝试'CFLAGS =“ - Wl,-flat_namespace,-undefined,suppress”'。 – baf
这些参数为我解决了这个问题。然后介绍了一个图书馆特定的问题,我用一个虚拟标题修复了这个问题。 – ahyattdev