#c #qt #path
#c #qt #путь
Вопрос:
У меня есть файл с шейдерами внутри, в моем файле проекта Qt.
Когда я попытался получить путь к приложению
QCoreApplication::applicationDirPath()
Это дает мне :
«C:/Users/USER_NAME/Desktop/PROJECT_NAME/build-PROJECT_NAME-Desktop_Qt_5_7_0_MinGW_32bit-Debug/debug»
Но на самом деле файлы шейдеров находятся в :
«C:/Users/USER_NAME/Desktop/PROJECT_NAME/PROJECT_NAME/shaders «
Как я могу получить правильный путь?
Комментарии:
1. Я не знаю, что такое «файл с шейдерами на нем», но пахнет как хороший кандидат для использования системы ресурсов .
Ответ №1:
Вы получаете правильные результаты. По умолчанию большинство IDE, включая Qt Creator, компилируют проект в каталог, отличный от каталога, в котором хранятся исходные тексты, и запускают его оттуда или из другого места.
Предполагая, что вы используете Qt Creator, вы можете изменить рабочий каталог исполняемого файла на панели настроек проекта:
Ответ №2:
В соответствии QCoreApplication::applicationDirPath()
с которым возвращается каталог, содержащий исполняемый файл приложения. Вывод, который вы получаете, основан на том, что вы запускаете свое приложение из среды IDE Qt. И он ожидает, что ваши файлы шейдеров будут находиться в том же месте, что и ваш исполняемый файл. Итак, либо вы можете использовать общее местоположение (например. %appdata%) или используйте жестко закодированный путь, в котором находятся ваши файлы шейдеров. Другим решением может быть копирование ваших шейдерных файлов в местоположение исполняемого файла, в вашем случае:
C:/Users/USER_NAME/Desktop/PROJECT_NAME/build-PROJECT_NAME-Desktop_Qt_5_7_0_MinGW_32bit-Debug/debug