Я пытаюсь получить более старое стороннее программное обеспечение для компиляции на OS X 10.9. Мне удалось избавиться от большинства проблем компиляции, изменив настройки в Makefiles, которые изначально были написаны для НКУ вероятно, около 2005 года. Однако в настоящее время я не знаю, как преодолеть эту ошибку для исходного файла C ++:
/utility.h:42:10: фатальная ошибка: файл ‘ext / slist’ не найден
Я это понимаю ext/slist
принадлежит к какой-то версии СТЛ. Была ли эта версия заменена или должна быть активирована каким-либо особым образом для версии Apple Clang /LLVM (5.0 для OS X 10.9)?
Если это вообще возможно, я бы предпочел скомпилировать это программное обеспечение с помощью предварительно установленных инструментов и не выполнять такие действия, как установка НКУ через MacPorts.
Кстати, эти предупреждения также сохраняются:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/ext/hash_set:202:2:
предупреждение:
Использование заголовка не рекомендуется. Мигрировать в
[-W # warnings] /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/ext/hash_map:209:2:
предупреждение:
Использование заголовка не рекомендуется. Мигрировать в
[-W # предупреждения]
Slist — это односвязный список, расширение которого включено в libstdc ++. Mac OS X переходит от libstdc ++ к libc ++, который предоставляет стандартную библиотеку C ++ 11. C ++ 11 предоставляет односвязный список с именем std :: forward_list в заголовке <forward_list>
,
Я полагаю, что libstdc ++ по-прежнему включен в инструменты разработчика, поэтому вы также можете переключиться на этот проект. Если вы используете проект XCode, вы можете выбрать библиотеку в настройках сборки или убедиться, что программа собирается с помощью -stdlib = libstdc ++
Других решений пока нет …