我必须将用C和C ++编写的现有代码移植到iOS。
此代码在某些时候使用environ
变量来访问所有环境变量。
使用iOS编译器工具链编译此代码时,它会抱怨environ
不是已定义的符号。我找不到任何提供它的标题或任何合适的替代方案。
不幸的是,environ
用于获取所有环境变量并将它们传递给子例程。也就是说,getenv()
不是一个选项,因为我们不知道要检查哪些环境变量。
使用iOS编译器工具链的C或C ++代码是否有办法访问environ
变量?或者你知道任何替代解决方案吗?
答案 0 :(得分:3)
必须在用户程序中的C代码中声明environ
变量。所以在访问之前只需声明它:
extern char **environ;
您可能还会发现this article对iOS环境很有帮助(它还有一个示例项目)。