我如何禁用自动链接使用boost asio
How can I disable automatic linking using boost asio?
我有一个包括一些asio头文件的项目,我已经静态链接了boostrongystem,但是asio不断添加-lboostrongystem到链接器,所以产生的二进制文件取决于boostrongystem的动态版本,我有-DBOOST_ALL_NO_LIB(在"其他链接标志"中)以防止自动链接,但它似乎被忽略了。
我使用XCode 4与clang和c++11
有其他方法来防止自动链接吗?
结果是,当我将。a文件添加到我的项目时,我需要将"文件类型"更改为Match-O对象代码,(如此答案指向https://stackoverflow.com/a/6124806/520221注释),即使您将文件添加到构建阶段选项卡中的"链接文件到可执行文件"。
所以我认为ASIO在某种程度上知道库是否已经包含(静态或动态)。由于"文件类型"的不同,它永远不会被链接,所以我们包含-lboostrongystem标志。
另一个提示,你必须用libstdc++来构建boost和你的项目,它不能用libstdc++工作,我不知道为什么。我如何在xcode/clang/macos中用libc++编译的静态库编译应用程序?
相关文章:
- 理解boost::asio-async_read在无需读取内容时的行为
- C++Boost Asio Pool线程,带有lambda函数和传递引用变量
- boost::asio::steady_timer()与sleep()我应该使用哪一个
- boost::asio如何生成多个协同程序,然后加入它们
- 从 Boost ASIO 获取 epoll 描述符 io_service对象
- 如何在 Boost.Asio 中使用 Zero-copy sendmsg/receive
- 如何使用 Boost Asio 在 Android 上获取我的本地 udp IP 地址?
- 执行时使用 boost::asio::d eadline_timer 时出错
- Boost.Asio/OpenSSL HTTPS GET certificate trouble
- boost::asio data owning `ConstBufferSequence`
- 如何替换此示例代码片段中已弃用的handler_type_t或 boost::asio::handler_type?
- 如何将boost::asio::d eadline_timer 与Qt一起使用?
- 将更高的优先级设置为 boost::asio 线程处理进程
- Async_read_until限制读取的字节大小(Boost::asio)
- 程序崩溃使用boost::asio
- boost::asio 无法捕获 SIGINT
- TCP 服务器的异步读取使用 boost::asio 打印客户端套接字发送的数据
- 如何在 boost::asio 中将打包的结构作为消息传递?(无序列化)
- 如何使用C++和Boost Asio从HTTP发布请求中获取键值
- std::boost::asio::p ost / dispatch 使用哪个io_context?