为什么将链接限制与boost :: log
Why that link limitation with boost::log
我在多个项目中使用了boost log,刚刚发现了我应该使用/构建lib的限制,这取决于软件组件类型类型静态或共享我开发的ode,请参阅此处
库有一个单独编译的部分,该部分应如"入门指南"中所述构建。不过,应该注意一件事。如果您的应用程序由使用boost.log的多个模块(例如一个或一个或几个DLL)组成,则必须将库构建为共享对象。如果您有一个可执行的可执行文件或单个模块,可与boost.log一起使用,则可以将库构建为静态库。
有该限制的解释/原因?
这是因为此库包含具有内部链接和静态存储持续时间的对象。将此类对象放入共享库有助于确保在运行时没有此类对象的重复。
请注意,具有外部链接的静态存储持续时间对象不会遭受以下困扰:如果链接时间有重复的定义 - 链接器在运行时抱怨 - 只有第一个可用的定义是
相关文章:
- Boost::log只在debian中崩溃
- 我仍然收到此错误未定义的引用:boost::log::v2_mt_posix::trivial::logger::get
- Boost Log的琐碎记录器"lazy evaluation"是如何工作的?
- Boost Log:变量不是"boost::log::v2s_mt_posix::trivial"的
- boost.log-如何用附加和旋转配置text_file_backend
- Boost::log misbehaves (ubuntu 16.04, boost 1.58)
- boost.log错误与命名空间
- 如何使用boost.log的记录仪
- 使用Cygwin win32_api.hpp编译Boost Log中的错误
- Boost::log:基于级别的不同格式(HTML 格式)
- boost::log 输出到 Visual Studio 输出控制台 - 为格式添加额外的 LF/CR
- Boost Log-使用全局记录器时未定义的参考
- 使用init_from_source时,boost.log链接器错误
- 当我使用该功能时,"错误 ld 返回 1 个退出状态"boost::log::add_file_log()"
- 编译用于创建boost.log格式的代码时出错
- boost::log关闭日志文件并打开一个新文件
- 错误编译Boost.log
- 如何通过 boost::log 打印到具有不同属性的不同日志?
- Boost::log 使用静态工厂方法
- 为什么将链接限制与boost :: log