可能重複:
Linker error on Linux: 「undefined reference to」「未定義提到」 爲符號在一個共享庫
我鏈接在一起的共享庫這樣的:
core : $(CORE_OBJS) | bin
$(CC) $(LFLAGS) -o bin/libcbitcoin$(LIBRARY_EXTENSION) $(CORE_OBJS)
將會產生庫文件libcbitcoin.2.0.so。
但是,當鏈接到庫的可執行文件被創建時,鏈接器會抱怨每個出現的符號都有未定義的引用。 makefile鏈接這樣的可執行文件:
$(TEST_BINARIES): bin/%: build/%.o
$(CC) -lcbitcoin.$(LIBRARY_VERSION) -lpthread -lcbitcoin-crypto.$(LIBRARY_VERSION) -lcbitcoin-network.$(LIBRARY_VERSION) -lcbitcoin-file-ec.$(LIBRARY_VERSION) -lcbitcoin-storage.$(LIBRARY_VERSION) -lcbitcoin-rand.$(LIBRARY_VERSION) -L/opt/local/lib -levent_core -levent_pthreads -lcrypto -L$(BINDIR) $< -o [email protected]
這給出了鏈接器選項-lcbitcoin.2.0
。
我只在嘗試爲Linux Mint而不是OSX構建時遇到此問題。完整的生成文件是在這裏:https://github.com/MatthewLM/cbitcoin/blob/newNetworkCode/Makefile.in
autoconf的文件是在這裏(如在任何情況下,它是很重要的):https://github.com/MatthewLM/cbitcoin/blob/newNetworkCode/configure.ac
感謝您的幫助。
我知道我之前解決了這個問題,但我無法找到。所以是的,這是重複的。 :-( –