Я пытаюсь загрузить изображение с помощью функции IMG_Load() из SDL. Я видел из руководств, что им не нужен полный путь к файлам ресурсов.
Но когда я пытаюсь это сделать, это не работает.
Мое решение включает полный путь к этим файлам, но я обнаружил, что это неуклюже. Особенно, когда я пытаюсь сотрудничать с моим другом, мне сложно синхронизировать исходные файлы, поскольку мы используем разные пути к файлам.
Могу я спросить, каков типичный способ совместной работы программистов, когда у них разные настройки, разные пути к файлам? Я думаю, что мне нужно упростить путь к файлу для объекта.
Я попытался добавить каталоги включения для компилятора, но он работает только с файлами заголовков, а не с файлами активов.
Относительные пути относятся к текущий рабочий каталог. В Windows при запуске программы из экспортера двойным щелчком она совпадает с расположением .exe, но это не всегда так, например. при запуске из некоторых IDE.
Используйте SDL_GetBasePath()
, чтобы получить каталог, в котором находится .exe. Добавьте его к путям ваших активов.
Большое спасибо. С предоставленной вами функцией теперь я знаю, почему это не сработало. Поскольку я использую CLion с CMake, «текущий рабочий каталог» находится в папке cmake-build-debug. Когда я перемещаю свое изображение в эту папку, оно работает так, как ожидалось. В любом случае, большое спасибо.