У меня есть файл изображения внутри моего проекта Eclipse CDT.Как мне сослаться на это в моем коде, чтобы соавторы могли использовать его при запуске кода? - PullRequest
0 голосов
/ 12 февраля 2019

В настоящее время я работаю с очень маленькой командой над проектом на C ++, который включает отображение изображения.Мы хотим иметь возможность сотрудничать в этом, разделяя код в удаленном репозитории Git, и с этой целью мы все согласились перейти на использование Eclipse CDT вместо Xcode / Visual Studio / что-либо еще.В идеале, мы должны иметь возможность клонировать репозиторий на любой машине с установленным Eclipse CDT (и соответствующими библиотеками) и собрать, а затем успешно запустить там код без каких-либо изменений, но текущая рабочая версия кода использует путьизображение из моего каталога пользователя.У меня есть копия этого изображения внутри проекта, и мой вопрос, как я могу использовать это, чтобы мои товарищи по команде тоже могли использовать его?

Я пытался использовать относительный путь (который я слышалнашел бы это относительно того, откуда запускается исполняемый файл, а не где он находится в любом случае), и я попытался заменить PROJECT_PATH на различные префиксы полного абсолютного пути, но ни один из них не сработал.Я также знаю, что путь к изображению можно передать в качестве аргумента командной строки, но я бы предпочел, чтобы он был внутри проекта, и хотя это может быть уместно в этой ситуации, я могу придумать еще много, в которых ононе будет (например, загрузка спрайта для игры), и меня просто беспокоит, что я не знаю, как сделать что-то настолько простое.

Подошел хороший поиск по переполнению стекасо многими решениями подобных проблем, но то, что я нашел для C ++, было для Visual Studio или Code :: Blocks, а то, что я нашел для Eclipse, было для Java.Кажется, что все это связано либо с «загрузчиками ресурсов», либо с непосредственным переносом соответствующих данных в двоичный файл, но я не смог найти документацию для этих «загрузчиков ресурсов», и интеграция данных в исполняемый файл с использованием шестнадцатеричного редактора выглядит какмного дополнительной работы, которую нужно выполнять каждый раз, когда проект собирается (плюс я не знаю, как заставить его работать с функциональностью библиотеки, которую я использую).

Версия Eclipse IDE для C / C ++Разработчики, которых я использую, это 2018-12 (4.10.0) на MacOS Mojave 10.4.2, и единственный товарищ по команде, с которым я до сих пор общался, находится на той или иной версии Ubuntu, работающей предположительно в той же версии.Затмение.Мы оба должны иметь возможность собирать и запускать проект, используя изображение, из одних и тех же файлов, клонированных из одного и того же репозитория Git.Проект представляет собой "C ++ Managed Build", потому что я не мог понять, как заставить работать "Проект CMake" (плюс я не знаю, как использовать CMake в любом случае), с цепочкой инструментов "MacOSX GCC" (возможно, это еще одна проблема с перемещением кода между системами, но это проблема другого дня), потому что я понятия не имею, как использовать набор инструментов "Cross GCC".

Эта проблема кажется общейДостаточно того, что это не должно иметь большого значения, но точная строка кода, которой нужен путь к изображению, в настоящее время выглядит как

cv::Mat image = cv::imread("/my/user/directory/Documents/8by8m.png");

с использованием OpenCV 3.4.3 и с моими попытками использовать копиюизображение в каталоге проекта Mat пусто.

...