我是 QNX 平台中速推库的新手。我在链接 asio 库时遇到问题。它在boost::asio::detail::socket_ops
级别中抛出未定义的引用链接器错误。这些消息是:
在函数中boost::asio::detail::socket_ops::call_bind
未定义的引用来绑定..
以及listen
、recvmsg
、accept
、setsockopt
的类似错误。
当我仅将 asio 库作为标题库包含时,我遇到了这些错误(我没有单独编译它)。
然后,我尝试通过定义BOOST_ASIO_SEPARATE_COMPILATION
并包含一次<boost/asio/ssl/impl/src.hpp>
来显式编译库。它给我带来了更多未定义的引用错误,用于 socket_ops.hpp 中定义的函数。
错误发生在socket_ops.ipp
中,我在 QNX 中微子动量 6.50 中使用了boost_1_49
您是否为您的平台构建了提升?它是否处于应用程序目标的兼容配置中?
Asio 需要一些其他的 boost 库(如果我记得的话,date_time和线程),这些库必须在使用之前构建(有些库不是只有头文件,或者它们依赖于不仅仅是头文件库)。