在 Boost 中编译 iostreams 库时更改 boost_zlib DLL 名称?

Posted

技术标签:

【中文标题】在 Boost 中编译 iostreams 库时更改 boost_zlib DLL 名称?【英文标题】:Change boost_zlib DLL name when compiling iostreams library in Boost? 【发布时间】:2015-10-01 22:15:52 【问题描述】:

我正在 Windows 的 Boost 中编译 iostreams 库。它似乎自动创建了一个 boost_zlib*.dll 文件。我想为 32 位和 64 位创建两个版本的 iostreams .lib.dll 文件,并将其放入同一个文件夹中。我可以轻松地重命名“iostreams”文件。我还需要将“boost_zlib”文件放在同一个文件夹中。但是,由于“boost_zlib”文件是自动创建的,我不能只重命名它们。

有没有办法指定“boost_zlib”输出文件名,以便我可以在文件名后附加“32”或“64”,以便将两个文件放在同一个文件夹中?

【问题讨论】:

【参考方案1】:

我想你可以简单地重命名文件并使用它们。

我假设您确实在 Windows 上,因此您还应该重命名相应的 .lib 文件。

如果命名发生任何变化,自动链接可能不再起作用(参见http://www.boost.org/doc/libs/1_58_0/more/getting_started/windows.html#identify-your-toolset,最后一行)。

看起来您实际上可以将编译器的工具集定义复制到 64/32 位副本中,并将架构标识附加到工具集名称中。

标记的命名方案会将工具集名称插入库文件名 (http://www.boost.org/doc/libs/1_58_0/more/getting_started/windows.html#library-naming)。

【讨论】:

以上是关于在 Boost 中编译 iostreams 库时更改 boost_zlib DLL 名称?的主要内容,如果未能解决你的问题,请参考以下文章

VS2010使用boost::geometry库时为什么编译不通过说明

VS2013编译64位boost

尝试使用 boost 库时缺少 gmp.h

开发环境问题

尝试使用 Boost 序列化库时出错

如何在 Eclipse 中使用 MinGW 编译 boost 线程?