ОБНОВЛЕНИЕ: Найден способ его компиляции, см. Ниже.Проблемы с компиляцией программ повышения с использованием cygwin
Привет, У меня возникли проблемы с компиляцией программ повышения под cygwin. Я установил пакеты boost и g ++ по умолчанию из файла setup.exe проекта cygwin.
На моих системах Linux, я могу составить программу reg.cpp, используя следующие:
g++ -I/usr/include/boost -lboost_regex -o reg reg.cpp
На Cygwin я должен изменить это только немного:
g++ -I/usr/include/boost-1_33_1 -lboost_regex-gcc-mt -o reg reg.cpp
Проблема заключается в том, что версия cygwin заставляет компоновщик вытягивать миллион неопределенных опорных ошибок. То же самое происходит с использованием библиотек фрейм-тестов boost.
Линкером является поиск boost_regex-gcc-mt, но он не соответствует соответствующему файлу. Вот первая ошибка линкера:
undefined reference to `boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::do_assign(char const*, char const*, unsigned int)'
Как компилировать
Я нашел решение here Для компиляции, я сделал следующее:
g++ -I/usr/include/boost-1_33_1 reg.cpp -o reg -lboost_regex-gcc-mt
Согласно сообщению, это что-то со ссылкой на компоновщик. Кто-нибудь понял, почему это имеет значение в cygwin, но не в современном Linux?