C++ 如何将$(SRCROOT)放入字符串中?

C++ 如何将$(SRCROOT)放入字符串中?,c++,xcode4,environment-variables,C++,Xcode4,Environment Variables,或者是否有其他方法将项目目录转换为字符串?我试过这个 const char* filepath = std::getenv("SRCROOT"); 但filepath显示为null,但它适用于其他环境变量。SRCROOT是否有某种代码内别名?我不能只使用“./”,我需要字符串中的完整路径。至于项目的目录,请查看IDE文档中的环境变量。它可能有一个翻译,将创建一个宏与项目的目录 可执行文件的目录通常可以从传递给main函数的第一个参数获得 否则,项目目录,特别是目录结构,依赖于平台。有些平台,比

或者是否有其他方法将项目目录转换为字符串?我试过这个

const char* filepath = std::getenv("SRCROOT");
但filepath显示为null,但它适用于其他环境变量。SRCROOT是否有某种代码内别名?我不能只使用“./”,我需要字符串中的完整路径。

至于项目的目录,请查看IDE文档中的环境变量。它可能有一个翻译,将创建一个宏与项目的目录

可执行文件的目录通常可以从传递给
main
函数的第一个参数获得

否则,项目目录,特别是目录结构,依赖于平台。有些平台,比如嵌入式系统,没有目录,只有内存。有关更多信息,请咨询您的操作系统

或者,您可以让生成系统在命令行上以
define
的形式传递项目名称。其他想法是创建环境变量或配置文件;所有这些都应该由构建系统完成。

至于项目的目录,请查看IDE文档中的环境变量。它可能有一个翻译,将创建一个宏与项目的目录

可执行文件的目录通常可以从传递给
main
函数的第一个参数获得

否则,项目目录,特别是目录结构,依赖于平台。有些平台,比如嵌入式系统,没有目录,只有内存。有关更多信息,请咨询您的操作系统


或者,您可以让生成系统在命令行上以
define
的形式传递项目名称。其他想法是创建环境变量或配置文件;所有这些都应该由构建系统来完成。

我找到的最佳选择是根据${SRCROOT}env变量在项目属性的
其他C标志下定义宏。以下是方法:


然后可以在C/C++代码上使用
SRCROOT
作为常量字符串

我发现的最佳选择是根据${SRCROOT}env变量在项目属性的
其他C标志下定义宏。以下是方法:


然后可以在C/C++代码上使用
SRCROOT
作为常量字符串

可能在执行环境中没有定义SRCROOT.int i=0;while(environ[i]){printf(“%s\n”,environ[i++]);}environ来自哪里?要求是什么__文件\uuuuu可能很有用。可能在执行环境中未定义SRCROOT。int i=0;while(environ[i]){printf(“%s\n”,environ[i++]);}environ来自哪里?要求是什么__文件_uu可能很有用。