已安装的CE信封1.11.1
apt-get install g++-9
Get:1 http://archive.ubuntu.com/ubuntu disco/main amd64 cpp-9 amd64 9-20190402-1ubuntu1 [8,861 kB]
Get:2 http://archive.ubuntu.com/ubuntu disco/main amd64 libgcc-9-dev amd64 9-20190402-1ubuntu1 [2,355 kB]
Get:3 http://archive.ubuntu.com/ubuntu disco/main amd64 gcc-9 amd64 9-20190402-1ubuntu1 [9,643 kB]
Get:4 http://archive.ubuntu.com/ubuntu disco/main amd64 libstdc++-9-dev amd64 9-20190402-1ubuntu1 [1,685 kB]
Get:5 http://archive.ubuntu.com/ubuntu disco/universe amd64 g++-9 amd64 9-20190402-1ubuntu1 [10.1 MB]
apt-get install libboost-dev
Get:1 http://archive.ubuntu.com/ubuntu disco/main amd64 libboost1.67-dev amd64 1.67.0-13 [8,362 kB]
Get:2 http://archive.ubuntu.com/ubuntu disco/main amd64 libboost-dev amd64 1.67.0.1 [3,228 B] 为链接器指定boost_system。这会产生一个错误。
g++-9 -std=c++1z -O0 -g3 -Wall -Wextra -Wconversion -c -fmessage-length=0 -Wno-attributes -fsanitize=undefined -pthread -o aptcp.o ../aptcp.cpp
g++-9 -pthread -o aptcp aptcp.o -ltidy -lboost_system -lssl -lcrypto -lxalan-c -lxalanMsg -lxerces-c
/usr/bin/ld: cannot find -lboost_system
collect2: error: ld returned 1 exit status我建议安装libboost-dev软件包。它将安装任何当前版本的boost为您的系统,并将所有文件放在适当的地方。
根据serup's answer,我的理解是“安装了库”。
$ /sbin/ldconfig -p | grep boost_system | cut -d\> -f2
/lib/x86_64-linux-gnu/libboost_system.so.1.67.0这是怎么回事?
目标是有一个简单的可重复的过程来安装和使用编译器和库,这个过程建立在开发人员和包维护人员现有工作的基础上。在我的理解/期望中,在包装还是库中有缺陷吗?
发布于 2019-07-08 15:09:55
-l选项只会找到.a或.so库文件,不会找到.so.1.67.0或其他文件。这可以通过创建一个符号链接来解决:
ln -sf /your/path/to/libboost_system.so.1.67.0 /your/path/to/libboost_system.so发布于 2019-08-22 08:59:31
sudo apt-get install libboost-all-dev这在Ubuntu 19.04上为我安装了所有所需的符号链接和静态库
https://stackoverflow.com/questions/55925486
复制相似问题