Не удается найти контент (изображения / звук) при запуске кода на другом компьютере c ++ - PullRequest
0 голосов
/ 02 марта 2012

Я определяю пути к изображениям и звуку в моем коде с помощью строки, подобной этой:

"Graphics \ \ player.png"

Я также загружаю изображения через XML-файлы, а затем путьвыглядит следующим образом:

Папка с графическими изображениями находится в корневом каталоге проекта и отлично работает на компьютере, который я использую для разработки.

ЕслиЯ собираю релизную сборку и запускаю ее со своего основного компьютера, она работает правильно, если папка Graphics находится в той же папке, что и .exe.

Однако, если я запускаю ту же самую вещь с другого компьютера, она не 'Не могу найти ни изображения, ни звука.

Вероятно, dll верны, игра работает нормально.

Я проверил это на нескольких компьютерах с разными спецификациями и драйверами, но ни одна из них не работает.

Если я перенесу некомпилированный исходный код на другой компьютер и скомпилирую его там, он будет работать правильно.

Итак, мой вопрос: что-то не хватает, когда я запускаю скомпилированный код на другом компьютере?

Ответы [ 2 ]

2 голосов
/ 02 марта 2012

Вы используете относительные пути. Вы делаете chdir () где-нибудь в корневой каталог, откуда эти пути ссылаются?

Тем не менее, вы не должны нигде использовать относительные пути. Сделайте их абсолютными при запуске, чтобы у вас никогда не возникало этой проблемы, и никакие (например) сторонние dll, вызывающие chdir (), не смогут сбросить загрузку вашего ресурса.

1 голос
/ 02 марта 2012

распечатайте строку, попробуйте открыть эту точную строку в том месте, откуда вы запускаете программу.

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

...