c – OS X 10.9上找不到’ext / slist’文件

前端之家收集整理的这篇文章主要介绍了c – OS X 10.9上找不到’ext / slist’文件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图让一些旧的第三方软件在OS X 10.9上编译.我已经设法通过调整Makefile中的设置来摆脱大多数编译问题,这些设置最初是在2005年左右为 gcc编写的.但是,我目前还不知道如何克服C源文件的这个错误

/utility.h:42:10: fatal error: ‘ext/slist’ file not found

我知道ext / slist属于STL的某个版本.该版本是否被取代或是否必须以Apple的版本Clang / LLVM(OS X 10.9为5.0)以任何特殊方式激活?

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

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

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/ext/hash_set:202:2:
warning:
Use of the header is deprecated. Migrate to
[-W#warnings] /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/ext/hash_map:209:2:
warning:
Use of the header is deprecated. Migrate to
[-W#warnings]

解决方法

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

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

猜你在找的Xcode相关文章