Wednesday, April 11, 2012

Using boost 1_48 with Apache qpid on Windows

everybody.



I stuck while trying to compile qpid c++ with boost 1_47_0 using Visual Studio 2010.
Here is steps sequence, that I made:




  1. Built boost 1.48.0

  2. Added BOOST_ROOT, BOOST_INCLUDEDIR, BOOST_LIBRARYDIR, etc. to %PATH% env. variable

  3. Installed cmake, Python, Ruby and added their paths to %PATH% env. variable

  4. Untared qpid-cpp-0.14.tar.gz

  5. Applied patch from https://bugzilla.redhat.com/attachment.cgi?id=542165&action=diff due to last changes in boost file hierarchy

  6. Renamed a few, required by qpid, boost libraries from libbost_LIBRARY-vc100-mt-1_48.lib to boost_LIBRARY.lib format

  7. Launched "cmake -i -G 'Visual Studio 2010'" in the 'qpidc-0.14' directory and successfully received *.vcxproj files



Now, the problems were appeared.



I loaded 'ALL_BUILD.vcxproj' file, created on step 7, and tried to build one project - qpidcommon. But I couldn't, due to 'missing a library' error. I renamed boost libraries from libbost_LIBRARY-vc100-mt-1_48.lib to boost_LIBRARY-vc100-mt-1_48.lib file format again and tried to compile.



And, at least, I received next:



...
...
...
(__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 ==========


I have no ideas, how to handle this, without adding a library direct to project. Do you?



Thanks.





No comments:

Post a Comment