ОБНОВЛЕНИЕ: проблема в Eclipse - она работает с консоли.Но я все еще хотел бы, чтобы он работал в Eclipse.
Мой вывод printenv содержит строку:
PROTCAD3DIR=/home/brent/Desktop/protCAD
Но из программы, которую я пытаюсь запустить (в Eclipse), яполучить вывод:
Environment variable PROTCAD3DIR undefined.
Please set it properly and re-execute the program.
Я искал это сообщение в источнике и нашел 1 результат:
string PCGeneralIO::getEnvironmentVariable(const string& _evname)
{
const char* convEVName = _evname.c_str();
char* pEVString = getenv(convEVName);
if (pEVString == 0)
{ cout << "Environment variable " << _evname << " undefined." << endl;
cout << "Please set it properly and re-execute the program." << endl;
exit(1);
}
string EVstring = charToString(pEVString);
return EVstring;
}
Я почти уверен, что это вызывает вышеуказанную функцию:
string evname = "PROTCAD3DIR";
string path = PCGeneralIO::getEnvironmentVariable(evname);
Так, что может заставить getenv () найти его как неопределенное?