VS2017开发基于Boost的Linux项目编译报错:对‘boost::system::system_category()’未定义的引用

问题:

1>C:\Users\Administrator\Desktop\LinuxCmdDemo\LinuxBoostTcpClient\obj\x64\Debug\main.o:在函数‘boost : error : system::error_code::error_code()’中:
1>/usr/local/include/boost/system/error_code.hpp : error : 449:对‘boost::system::system_category()’未定义的引用
1>C:\Users\Administrator\Desktop\LinuxCmdDemo\LinuxBoostTcpClient\obj\x64\Debug\main.o:在函数‘boost : error : system::error_category::std_category::equivalent(int, std::error_condition const&) const’中:
1>/usr/local/include/boost/system/error_code.hpp : error : 676:对‘boost::system::generic_category()’未定义的引用
1>/usr/local/include/boost/system/error_code.hpp : error : 679:对‘boost::system::generic_category()’未定义的引用

1>C:\Users\Administrator\Desktop\LinuxCmdDemo\LinuxBoostTcpClient\obj\x64\Debug\main.o:在函数‘boost : error : system::error_category::std_category::equivalent(std::error_code const&, int) const’中:

1>/usr/local/include/boost/system/error_code.hpp : error : 706:对‘boost::system::generic_category()’未定义的引用
1>/usr/local/include/boost/system/error_code.hpp : error : 709:对‘boost::system::generic_category()’未定义的引用
1>/usr/local/include/boost/system/error_code.hpp : error : 721:对‘boost::system::generic_category()’未定义的引用
1>C:\Users\Administrator\Desktop\LinuxCmdDemo\LinuxBoostTcpClient\obj\x64\Debug\main.o:在函数‘boost : error : asio::error::get_system_category()’中:
1>/usr/local/include/boost/asio/error.hpp : error : 230:对‘boost::system::system_category()’未定义的引用
1>C:\Users\Administrator\Desktop\LinuxCmdDemo\LinuxBoostTcpClient\obj\x64\Debug\main.o:在函数‘boost : error : asio::detail::posix_event::posix_event()’中:
1>/usr/local/include/boost/asio/detail/impl/posix_event.ipp : error : 42:对‘pthread_condattr_setclock’未定义的引用
1>C:\Users\Administrator\Desktop\LinuxCmdDemo\LinuxBoostTcpClient\obj\x64\Debug\main.o:在函数‘boost : error : asio::detail::posix_thread::~posix_thread()’中:
1>/usr/local/include/boost/asio/detail/impl/posix_thread.ipp : error : 35:对‘pthread_detach’未定义的引用
1>C:\Users\Administrator\Desktop\LinuxCmdDemo\LinuxBoostTcpClient\obj\x64\Debug\main.o:在函数‘boost : error : asio::detail::posix_thread::join()’中:
1>/usr/local/include/boost/asio/detail/impl/posix_thread.ipp : error : 42:对‘pthread_join’未定义的引用

 

解决办法:

(1)配置属性→C/C++→常规→附加包含目录,填Linux中Boost的头文件所在目录,如“/usr/local/inlcude”

 

(2)配置属性→链接器→常规→附加库目录,填Linux中Boost的链接库文件所在目录,如“/usr/local/lib”

 

(3)配置属性→链接器→输入→库依赖项,如果使用线程库,则填“pthread”

参考:

http://www.cnblogs.com/reskai/p/7135586.html 

https://blog.csdn.net/ivan_ljf/article/details/70808579

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值