Eclipse CDT:如何以编程方式(永久)保存项目范围的环境变量
我能够以编程方式创建项目范围的环境变量到项目属性 -> C/C++ 构建 ->环境页面。但是,当我重新启动工作区时,环境变量消失了。
我用来添加新的项目范围环境变量的代码位于:
全局变量:
private ICConfigurationDescription cfgd = null;
private final MultiCfgContributedEnvironment ce = new MultiCfgContributedEnvironment();
内部方法:
ICConfigurationDescription[] cfgs;
cfgs = new ICConfigurationDescription[] {cfgd};
for (ICConfigurationDescription cfg : cfgs) {
ce.addVariable("PKG_CONFIG_LIBDIR", dir,
EnvironmentVariable.ENVVAR_APPEND, SEPARATOR, cfg);
}
我正在寻找一种在工作区重新启动后将环境变量保留在“环境页面”上的方法。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
另一种不使用内部类/API 的解决方案是:
请注意,使用
null
而不是config
将变量添加到全局/工作空间环境中。另请注意
IEnvironmentVariable
中定义的不同“操作”。Another solution, without using the internal classes/APIs, is:
Note that using
null
instead ofconfig
adds the variable to the global/workspace environment.Also note the different "operation", as defined in
IEnvironmentVariable
.我解决了我自己的问题。如果其他人也遇到同样的问题,我会在此处包含代码。
解决方案是使用存储 env 的 StorableEnvironment。变量到 XML。
请注意,它们
是内部 API 类,因此不建议使用它们,因为它们的实现可能会更改并影响代码的功能。
I solved my own question. I include the code here if someone else has the same problem.
The solution is to use StorableEnvironment which stores env. vars to XML.
Be aware though that
Are internal API classes and therefore their use is not recommended because their implementation could change and affect the functionality of your code.