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

时间:2012-11-19 15:44:37

标签: c++ xcode4 environment-variables

或者有没有其他方法将项目的目录变成字符串?我试过这个

const char* filepath = std::getenv("SRCROOT");

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

2 个答案:

答案 0 :(得分:1)

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

enter image description here

您可以将C / C ++代码上的SRCROOT用作常量字符串。

答案 1 :(得分:0)

对于项目的目录,请查看IDE文档以获取环境变量。它可能有一个转换,它将使用项目的目录创建一个宏。

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

否则项目目录,尤其是目录结构,与平台有关。某些平台(如嵌入式系统)没有目录,只有内存。有关更多信息,请参阅操作系统。

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