我試圖在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