Сбой сборки cpp-netlib — без добавления префикса lib

Я пытаюсь собрать cpp-netlib, используя cmake из cygwin.
Однако cmake пытается найти пакет без lib префикс. А также -DBoost_USE_STATIC_LIBS=ON не решит проблему!

Вот моя командная строка:

cmake ../cpp-netlib-0.9.4/ -DBOOST_ROOT:string=/cygdrive/c/Dev/boost_1_55_0 -DBoost_USE_STATIC_LIBS=ON -DBoost_DEBUG=ON -DBoost_DETAILED_FAILURE_MSG=ON

Поиск:

-- [ /usr/share/cmake-2.8.11.2/Modules/FindBoost.cmake:930 ] Searching for THREAD_LIBRARY_RELEASE: boost_thread-gcc48-mt-1_55;boost_thread-gcc48-mt;boost_thread-mt-1_55;boost_thread-mt;boost_thread
-- [ /usr/share/cmake-2.8.11.2/Modules/FindBoost.cmake:966 ] Searching for THREAD_LIBRARY_DEBUG: boost_thread-gcc48-mt-d-1_55;boost_thread-gcc48-mt-d;boost_thread-mt-d-1_55;boost_thread-mt-d;boost_thread-mt;boost_thread
-- [ /usr/share/cmake-2.8.11.2/Modules/FindBoost.cmake:930 ] Searching for FILESYSTEM_LIBRARY_RELEASE: boost_filesystem-gcc48-mt-1_55;boost_filesystem-gcc48-mt;boost_filesystem-mt-1_55;boost_filesystem-mt;boost_filesystem
-- [ /usr/share/cmake-2.8.11.2/Modules/FindBoost.cmake:966 ] Searching for FILESYSTEM_LIBRARY_DEBUG: boost_filesystem-gcc48-mt-d-1_55;boost_filesystem-gcc48-mt-d;boost_filesystem-mt-d-1_55;boost_filesystem-mt-d;boost_filesystem-mt;boost_filesystem
-- [ /usr/share/cmake-2.8.11.2/Modules/FindBoost.cmake:930 ] Searching for PROGRAM_OPTIONS_LIBRARY_RELEASE: boost_program_options-gcc48-mt-1_55;boost_program_options-gcc48-mt;boost_program_options-mt-1_55;boost_program_options-mt;boost_program_options
-- [ /usr/share/cmake-2.8.11.2/Modules/FindBoost.cmake:966 ] Searching for PROGRAM_OPTIONS_LIBRARY_DEBUG: boost_program_options-gcc48-mt-d-1_55;boost_program_options-gcc48-mt-d;boost_program_options-mt-d-1_55;boost_program_options-mt-d;boost_program_options-mt;boost_program_options

Вот полный результат: http://pastebin.com/ZBfQyWvw.

Как вы можете видеть в командной строке, я использую cpp-netlib 0.9.4 и Boost 1.55.0.

Есть намеки?

Спасибо!

1

Решение

Похоже, что ваши библиотеки Boost были собраны с MSVC, указанным в качестве компилятора («-vc120-» в их именах является контрольной). С Cygwin вам нужно собрать для вариантов Unix.

Из записки наверху Буста инструкции по сборке для Windows:

Примечание для пользователей Cygwin и MinGW

Если вы планируете использовать свои инструменты из командной строки Windows, вы находитесь в правильном месте. Если вы планируете сборку из оболочки Cygwin bash, вы на самом деле работаете на платформе POSIX и должны следовать инструкциям для начало работы с вариантами Unix. Другие командные оболочки, такие как MSYS MinGW, не поддерживаются — они могут работать или не работать.

Вы можете видеть, что модуль FindBoost CMake делает правильные вещи; догадываясь, что компилятор GCC. Например, строка 62 вашего связанного вывода CMake:

— [/usr/share/cmake-2.8.11.2/Modules/FindBoost.cmake:739] угадал _boost_COMPILER = -gcc48

1

Другие решения


По вопросам рекламы ammmcru@yandex.ru
Adblock
detector