我下载并安装了APR和APR-util C库,但我不能在我正在进行的项目中使用它们我一直收到以下错误(我在Linux Mint上):
undefined reference to `apr_pool_initialize'
undefined reference to `apr_pool_create_ex'
etc...
我的库最初安装在/ usr / local / APR中。起初我以为这个文件不在我的cc include路径中,我将/ apr /目录复制到/ usr / local / include和/ usr / include这两个都在include路径中但是我得到了完全相同的错误。我尝试将/ apr /中的lib文件夹添加到/etc/ld.so.conf.d/中,然后根据我正在进行项目的网站的建议运行ldconfig,但这也没有帮助。我以为我可能安装得不正确,所以我重新编写了它,但这也无济于事。我不知所措。如果有人可以帮我解决这个问题,我会非常感激。作为参考,这是我使用的安装脚本:
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
答案 0 :(得分:0)
Linux Mint:除非它是旧版本,否则所有后来的Mint默认安装libapr1
,libaprutil1
版本1.5.0或1.5.2或更高版本。
获得完整的apr,apr-util ...请执行:
sudo apt update && sudo apt install libapr1-dev libaprutil1-dev