我在尝试使用Visual Studio 2010用boost 1_47_0编译qpid c++ 时卡住了。这是我制作的步骤顺序:
- 内置升压 1.48.0
- 在 %PATH% 环境中添加了 BOOST_ROOT、BOOST_INCLUDEDIR、BOOST_LIBRARYDIR 等。多变的
- 安装了cmake、Python、Ruby并将它们的路径添加到 %PATH% env。多变的
- 解压 qpid -cpp-0.14.tar.gz
- 由于boost文件层次结构的最后更改,应用了来自https://bugzilla.redhat.com/attachment.cgi?id=542165&action=diff的补丁
- 重命名了一些 qpid 所需的 boost 库,从libbost_LIBRARY-vc100-mt-1_48.lib到boost_LIBRARY.lib格式
- 在'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 ==========
我不知道如何处理这个问题,而不是直接向项目添加库。你?
谢谢。