【问题标题】:Missing A Detail About Boost (.lib files)缺少有关 Boost 的详细信息(.lib 文件)
【发布时间】:2014-07-04 08:38:39
【问题描述】:

在使用某些 Boost 库时,我在哪里可以找到用于链接我的程序的 lib 文件? 决定尝试它的线程功能,但我得到了

错误 6 致命错误 LNK1104:不能 打开文件 'libboost_thread-vc90-mt-gd-1_42.lib' 面试实践

在我包含之后

错误 6 致命错误 LNK1104:不能 打开文件 'libboost_thread-vc90-mt-gd-1_42.lib' 面试实践

我在 boost 网站上找不到正确链接的 .lib 文件的位置? 有小费吗? :)

【问题讨论】:

标签: c++ boost linker


【解决方案1】:

需要构建一些 Boost 库(例如,那些使用操作系统特定功能的库)。您可以build them yourself,或下载pre-built package

【讨论】:

  • 感谢您的信息。我最好安排一些时间来构建所有这些库。 xD 我打赌这需要一段时间。
  • @bobber205:获取预构建的包并安排大量时间来弄清楚如何构建整个 boost 发行版。第一次在 Windows 下构建可能需要几天时间。预构建的软件包将使您快速启动并运行。
  • 肯定需要一点时间,但是几天?你到底在做什么? :D
  • @D.Shawley:哎呀,几天?我只记得大概需要几个小时。
  • @D.Shawley 即使在我使用了 10 年的破旧笔记本电脑上,构建库也最多只需要几个小时。
【解决方案2】:

我使用的另一种解决方案是使用您正在使用的 boost 位创建您自己的包装器项目。通常在 VS.Net 中,这只是从 boost/libs/blah 子目录添加 cpp 文件的问题。它们编译得非常干净,因此您通常不需要对项目进行任何其他设置。如果您想从 SCM 自动构建并且不想签入二进制文件,我发现这种技术很有用。它也非常快,因为您只构建您需要的位。另一个优点是更容易创建与您的项目相关的配置,即调试/发布、静态/动态、32/64 位。一个问题是,您需要在构建项目时通过定义 BOOST_ALL_NO_LIB 来禁用自动链接选项。

或者,您需要使用jam 工具为您需要的配置构建原始库。

【讨论】:

  • 与此结合,bcp 工具(在 boost 发行版中提供)将仅复制所需的 boost 包含。如果您不想在 SCM 中获得所有提升,这会有所帮助。
  • 有用的提示——我从来不知道那个工具
【解决方案3】:

.lib 文件通常嵌套在名为stage 的文件夹下,因此您可能需要在项目属性下的其他库目录 部分中将boost/lib 替换为boost/stage/libthis tutorial 的第 6 和 6.1 节描述了这个过程,但不包括 Boost 的 stage 文件夹。

您还可以为损坏的.lib 文件创建file search 以了解位置。

【讨论】:

  • 谢谢!我设法构建了它们,但不知道它们在哪里,是的,现在我在“stage\lib”文件夹中找到了它们!
【解决方案4】:

这完全取决于您使用的操作系统/编译器。

我建议你下载 boost 源代码并学习如何构建 Boost。

【讨论】:

    【解决方案5】:

    这个问题是因为Boost安装默认没有安装线程库造成的。您必须在安装期间专门选择线程库。因此,重新运行安装并选择线程库并选择编译器的版本以下载适当的文件。在这种情况下,对于文件“'libboost_thread-vc90-mt-gd-1_42.lib”,您需要为版本 VC++ 编译器 9.0 调试和 boost 库版本 1.42 选择多线程。

    我希望这会有所帮助...

    【讨论】:

      【解决方案6】:

      我在使用 boost 1.44 版和预构建的安装程序时遇到了同样的链接错误。我解压缩了“libboost_data_time_vc100-mt-gd-144.zip”,其中仅包含丢失的 .lib,这似乎解决了问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-05-13
        • 2023-04-07
        • 2012-09-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-06-28
        • 2014-09-26
        相关资源
        最近更新 更多