C ++ Файл -каталог в Eclipse
-
25-10-2019 - |
Вопрос
Я использую Eclipse в качестве IDE для программирования C ++. В моей системе у меня есть сетевой домашний каталог и раздел данных. Я хочу, чтобы проект хранился в Home Directory (который подтверждается нашим администратором), но расчеты должны быть сделаны в разделе данных. Как я могу это сделать?
Я уже выяснил, как изменить местоположение сборки под артефактами сборки, но файлы, которые я генерирует в коде C ++ (например, fstream f; f.open("filename");
) хранятся в каталоге проекта в моей домашней папке.
Одна возможность состоит в том, чтобы построить из затмения, а затем запустить двоичный файл из консоли. Но это не так хорошо, как просто нажать на бег.
Я надеюсь, что кто-то может мне помочь.
Решение
Вам нужно найти что -то, что называется «работник -дир/путь» или аналогично. (Понятия не имею, как называется в Eclipse)
Обратите внимание, что это также может повлиять на то, как загружаются динамические библиотеки.
Другой вариант состоит в том, чтобы иметь опцию конфигурации в вашей программе и обработать код настройки путей в соответствии с линиями (непроверенный! Обратитесь как псевдокод!)
f.open((path / filename).c_str()); // using boost::filesystem
f.open((path + PATH_SEP + filename).c_str()); // using std::string
Другие советы
Вы открываете файлы в текущем рабочем каталоге. Вы можете использовать абсолютные пути при указании имени файла, либо вы можете сделать chdir
Перед созданием/открытием файлов. Вы также должны избегать жестких имен файлов в коде. Вместо этого вы можете указать имена файлов, используя файлы конфигурации, переменные среды, аргументы командной строки и т. Д. Обратите внимание, что вы также можете указать дополнительные аргументы командной строки в Eclipse, которые будут переданы вашему исполняемому файлу при отладке.