我正在尝试使用Microsoft REST SDK创建一个侦听HTTP请求的服务器。我当前的计算机是Ubuntu 18.04,服务器代码非常简单。
我已经按照libboost official website上的说明安装了该库,并且已经检查了/usr/local/lib/
中的文件,这里有libboost_random.so.1.68.0
,所以我想我有libboost库。
但是,当我尝试使用以下命令编译代码时:
g++ server.cpp -o server -lpthread -lcpprest -lcrypto -lssl -lboost_system
它显示:
/tmp/ccKWADuo.o: In function `boost::system::system_category()':
server.cpp:(.text._ZN5boost6system15system_categoryEv[_ZN5boost6system15system_categoryEv]+0x7): undefined reference to `boost::system::detail::system_category_instance'
/tmp/ccKWADuo.o: In function `boost::system::generic_category()':
server.cpp:(.text._ZN5boost6system16generic_categoryEv[_ZN5boost6system16generic_categoryEv]+0x7): undefined reference to `boost::system::detail::generic_category_instance'
collect2: error: ld returned 1 exit status
谢谢您的建议。
答案 0 :(得分:0)
Boost由几个独立的库组成。您的链接器错误表明您缺少libboost_system.so
。您刚刚提到libboost_random.so
出现在您的/usr/local/lib
中,但是还需要libboost_system.so
吗?
答案 1 :(得分:0)
[已解决问题]重新安装库licence.seats.includes(:customers).flat_map(&:customers)
很有帮助。从源代码构建时发生错误,修复这些构建错误将解决问题。