gpt4 book ai didi

c++ - 在 Windows 上将 boost 1_48 与 Apache qpid 结合使用

转载 作者:行者123 更新时间:2023-11-28 03:38:31 28 4
gpt4 key购买 nike

我在尝试使用 Visual Studio 2010 编译带有 boost 1_47_0qpid c++ 时卡住了。这是我制作的步骤序列:

  1. 内置 boost 1.48.0
  2. 将 BOOST_ROOT、BOOST_INCLUDEDIR、BOOST_LIBRARYDIR 等添加到 %PATH% env。变量
  3. 安装了 cmakePythonRuby 并将它们的路径添加到 %PATH% env。变量
  4. 解开qpid-cpp-0.14.tar.gz
  5. 应用来自 https://bugzilla.redhat.com/attachment.cgi?id=542165&action=diff 的补丁由于 boost 文件层次结构的最后更改
  6. 重命名了一些 qpid 要求的 boost 库,从 libbost_LIBRARY-vc100-mt-1_48.libboost_LIBRARY.lib 格式
  7. 在'qpidc-0.14'目录中启动“cmake -i -G 'Visual Studio 2010'”并成功接收*.vcxproj文件

现在,问题出现了。

我加载了在第 7 步创建的“ALL_BUILD.vcxproj”文件,并尝试构建一个项目 - qpidcommon。但由于“缺少图书馆”错误,我不能。我再次将 boost 库从 libbost_LIBRARY-vc100-mt-1_48.lib 重命名为 boost_LIBRARY-vc100-mt-1_48.lib 文件格式并尝试编译。

至少,我接下来收到了:

...
...
...
(__imp_??0variables_map@program_options@boost@@QAE@XZ) referenced in function
"public: void __thiscall qpid::Options::parse(int,char const * const *,class
std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,bool)"
(?parse@Options@qpid@@QAEXHPBQBDABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@_N@Z)

3>D:\wc-gather\tplibs\qpidc-0.14\src\Release\qpidcommon.dll : fatal error LNK1120:
33 unresolved externals
========== Build: 2 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

我不知道如何在不直接向项目添加库的情况下处理这个问题。你呢?

谢谢。

最佳答案

boost_LIBRARY-vc100-mt-1_48.lib 应该是导入库(用于 boost_LIBRARY-vc100-mt-1_48.dll),而不是静态库。将其重命名为其原始名称(带有 lib 前缀)。接下来,构建一个完整的 boost,以获得任何可能的变化

bjam -j8 toolset=msvc --build-type=complete

如果您有 8 核(如 intel i7),请使用 -j8 以获得较大的 boost (完整构建需要 8 分钟),并安装 boost (bjam toolset=msvc --build-type=complete install)

然后尝试重新构建您的应用程序。

关于c++ - 在 Windows 上将 boost 1_48 与 Apache qpid 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10100760/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com