Каталог вывода файла C++ в Eclipse

Я использую Eclipse в качестве IDE для программирования на C++. В моей системе у меня есть домашний сетевой каталог и раздел данных. Я хочу, чтобы проект хранился в домашнем каталоге (который резервируется нашим администратором), но вычисления должны быть выполнены на разделе данных. Как я могу это сделать?

Я уже выяснил, как изменить расположение сборки под артефактами сборки, но файлы, которые я генерирую в своем коде C++ (например, fstream f; f.open("filename");) хранятся в каталоге проекта в моей домашней папке.

Одной из возможностей является сборка из Eclipse, а затем запуск двоичного файла из консоли. Но это не так приятно, как просто нажать на кнопку "Выполнить".

Я надеюсь, что кто-то может помочь мне.

2 ответа

Решение

Вам нужно найти что-то, что называется "Working Dir/Path" или подобное. (Понятия не имею, как зовут Eclipse)

Обратите внимание, что это также может повлиять на загрузку динамических библиотек.

Другой вариант заключается в том, чтобы в вашей Программе была опция конфигурации, и чтобы ваш код обрабатывал установку путей вдоль строк (не проверено! Рассматривается как псевдокод!)

f.open((path / filename).c_str());             // using boost::filesystem 
f.open((path + PATH_SEP + filename).c_str());  // using std::string 

Вы открываете файлы в текущем рабочем каталоге. Вы можете либо использовать абсолютные пути при указании имени файла, либо вы можете сделать chdir перед созданием / открытием файлов. Вам также следует избегать жесткого кодирования имен файлов в коде. Вместо этого вы можете указать имена файлов, используя файлы конфигурации, переменные среды, аргументы командной строки и т. Д. Обратите внимание, что вы также можете указать дополнительные аргументы командной строки в Eclipse, которые будут передаваться вашему исполняемому файлу при отладке.

Другие вопросы по тегам