Или есть какой-то другой способ получить каталог проекта в строку? Я пробовал это
const char* filepath = std::getenv("SRCROOT");
Но filepath отображается как null, хотя он работает и с другими переменными окружения. Есть ли в SRCROOT какой-то псевдоним в коде? Я не могу просто использовать «../», мне нужен полный путь в строке.
Для принадлежность проекта каталог, проверьте документацию IDE для переменных среды. Он может иметь перевод, который создаст макрос с принадлежность проекта каталог.
исполняемого каталог обычно можно получить из первого параметра прошло к main
функция.
В противном случае каталоги проекта, особенно структуры каталогов, зависят от платформы. Некоторые платформы, такие как встроенные системы, не имеют каталогов, только память. Проконсультируйтесь с вашей операционной системой для получения дополнительной информации.
В качестве альтернативы, вы можете иметь построить систему передать имя проекта как define
в командной строке. Другие идеи заключаются в создании переменных среды или файлов конфигурации; все должно быть сделано построить систему.
Лучший вариант, который я нашел, это определить макрос под Other C Flags
в свойствах вашего проекта согласно переменной $ {SRCROOT} env. Вот как :
Чем вы можете использовать SRCROOT
в вашем коде C / C ++ в виде константной строки.