我下載並安裝了APR和APR-util C庫,但我無法在項目中使用它們我一直在收到以下錯誤(我在Linux Mint上):未定義的引用到已安裝的APR C庫
undefined reference to `apr_pool_initialize'
undefined reference to `apr_pool_create_ex'
etc...
我的庫最初安裝到/ usr/local/APR。起初我以爲,這個文件只是不在我的CC包括路徑我複製/ APR /目錄到/ usr /本地/ include和/ usr /包括的這是在包括路徑,但我得到了完全相同的錯誤。我嘗試添加的lib文件夾中/ APR /成/etc/ld.so.conf.d/,然後運行ldconfig命令所推薦的網站我從做項目,但沒有任何幫助。我以爲我可能安裝不當,所以我redid它,但也沒有幫助。我很茫然。如果有人能幫我解決這個問題,我會非常感激。作爲參考,這是安裝腳本我用:
set -e
cd /tmp
curl -L -O http://archive.apache.org/dist/apr/apr-1.4.6.tar.gz
tar -xzvf apr-1.4.6.tar.gz
cd apr-1.4.6
./configure
make
sudo make install
cd /tmp
rm -rf apr-1.4.6 apr-1.4.6.tar.gz
curl -L -O http://archive.apache.org/dist/apr/apr-util-1.4.1.tar.gz
tar -xzvf apr-util-1.4.1.tar.gz
cd apr-util-1.4.1
./configure --with-apr=/usr/local/apr
make
sudo make install
cd /tmp
rm -rf apr-util-1.4.1* apr-1.4.6*
這是我使用的Makefile,所有的分離是標籤:
PREFIX?=/usr/local
CFLAGS=-g -Wall -I${PREFIX}/apr/include/apr-1 -
I${PREFIX}/apr/include/apr-util-1 -D_LARGEFILE64_SOURCE=1
LDFLAGS=-L${PREFIX}/apr/lib -lapr-1 -pthread -laprutil-1
all: devpkg
devpkg: bstrlib.o db.o shell.o commands.o
install: all
install -d $(DESTDIR)/$(PREFIX)/bin/
install devpkg $(DESTDIR)/$(PREFIX)/bin/
clean:
rm -f *.o
rm -f devpkg
rm -rf *.dSYM
我懷疑與'LDFLAGS'一個問題,該連接器找不到的功能。您確認'APR的-1'和'libaprutil-1'庫的名字和他們的存在? –
你嘗試過用gcc手動編譯代碼,以確保你正確設置的標誌嗎? – bruceg
我證實APR的-1和libaprutil-1的存在和名字,但如果我嘗試編譯我的文件單獨我得到類似的錯誤: 致命錯誤:apr_general.h:沒有這樣的文件或目錄 編譯終止。 – aprdrivesmecrazy