2012-04-11 2 views
0

я застрял при попытке компиляции qpid C++ с повышения 1_47_0 с использованием Visual Studio 2010. Вот последовательность шагов, которые я сделал:Использование подталкивание 1_48 с Apache Qpid на Windows,

  1. Встроенный импульс 1.48.0
  2. Добавлено BOOST_ROOT, BOOST_INCLUDEDIR, BOOST_LIBRARYDIR и т.д.,% PATH% окр. переменная
  3. Установленная CMake, Python, Руби и добавили их пути к% PATH% окр. Переменный
  4. Untared qpid-каст-0.14.tar.gz
  5. Applied патч от https://bugzilla.redhat.com/attachment.cgi?id=542165&action=diff из-за последние изменения в повышении иерархии файлы
  6. переименовали несколько, необходимых qpid, библиотеки подталкивания от libbost_LIBRARY- VC100-мт-1_48.lib в boost_LIBRARY.lib формат
  7. Запущенный "CMake -i -G 'Visual Studio 2010" в 'qpidc-0.14' каталог и успешно получил * .vcxproj файлы

Теперь возникли проблемы.

Я загрузил файл 'ALL_BUILD.vcxproj', созданный на шаге 7, и попытался построить один проект - qpidcommon. Но я не мог, из-за ошибки «отсутствует библиотека». Я переименовал подталкивания библиотеки из libbost_LIBRARY-VC100-мт-1_48.lib к boost_LIBRARY-VC100-мт-1_48.lib формат файл снова и попытался скомпилировать.

И, по крайней мере, я получил следующий:

... 
... 
... 
([email protected][email protected]@@[email protected]) 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)" 
([email protected]@[email protected]@[email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]) 

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 ========== 

У меня нет идей, как справиться с этим, без добавления библиотеки непосредственно к проекту. Вы?

Спасибо.

ответ

2

boost_LIBRARY-vc100-mt-1_48.lib должен быть библиотекой импорта (для boost_LIBRARY-vc100-mt-1_48.dll), а не статической. Переименуйте его в исходное имя (с префиксом lib). Затем построить полный импульс, чтобы иметь любое возможное изменение

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

Используйте -j8, если у вас есть 8-ядро (например, Intel i7) для большого ускорения (8 минут для полной сборки), и установить boost (bjam toolset = msvc --build-type = complete install)

Затем попробуйте снова восстановить приложение.

+0

Да, моя ошибка. Благодаря! – gahcep

Смежные вопросы