在OS X 10.9上找不到'ext/slist'文件

Dru*_*rux 4 c++ xcode stl llvm-clang osx-mavericks

我试图让一些旧的第三方软件在OS X 10.9上编译.我已经设法通过调整Makefile中的设置来摆脱大多数编译问题,这些设置最初是在2005年左右为gcc编写的.但是,我目前还不知道如何克服C++源文件的这个错误:

/utility.h:42:10:致命错误:'ext/slist'文件未找到

据我所知,这ext/slist属于某些版本的STL.该版本是否已被取代,或者是否必须以任何特殊方式激活Apple版本的Clang/LLVM(5.0 for OS X 10.9)?

如果可能的话,我更愿意使用预安装的工具编译此软件,而不是通过MacPorts安装gcc等步骤.

顺便说一句,这些警告也持续存在:

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/ext/hash_set:202:2:警告:不推荐使用标头.迁移到[-W#警告] /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/ext/hash_map:209:2:警告:使用标头已弃用.迁移到[-W#警告]

bam*_*s53 5

Slist是一个单独的链表,是libstdc ++中的扩展.Mac OS X已经从libstdc ++转向libc ++,它提供了一个C++ 11标准库.C++ 11在头文件中以名称std :: forward_list提供单链表<forward_list>.

我相信libstdc ++仍然包含在开发人员工具中,因此您也可以将项目切换回来.如果您正在使用Xcode项目,则可以在构建设置中选择库,或者确保使用-stdlib = libstdc ++构建程序