未安装的APR C库参考

时间:2017-05-31 22:26:12

标签: c linux apr

我下载并安装了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

1 个答案:

答案 0 :(得分:0)

Linux Mint:除非它是旧版本,否则所有后来的Mint默认安装libapr1libaprutil1版本1.5.0或1.5.2或更高版本。

获得完整的apr,apr-util ...请执行:

sudo apt update && sudo apt install libapr1-dev libaprutil1-dev