2013-08-26 4 views
-1

Я написал приложение консоли Qt. Я хотел бы скопировать файл из каталога, где находится мой exe-файл.Как установить путь приложения?

m_Path = QCoreApplication::applicationDirPath() + "\\g.aux.xml"; 
QFile::copy(m_Path,PathNew); 

Этот код отлично работает, когда я отлаживаю свое приложение. Но когда я копирую мой .exe-файл в другой каталог, он не работает.

Скажите, пожалуйста, как это исправить.

UPD: Я думаю, что я нашел ответ мне нужно использовать QDir :: currentPath()

Get current working directory in a Qt application

+1

Что означает «не работает». Как это происходит. Пожалуйста, опишите проблему полностью. Опишите точное расположение файлов. –

ответ

0

Вы, скорее всего, не хватает DLL-файлы.

Копирование только .exe-файла недостаточно для приложений Qt - вы должны убедиться, что необходимые динамические библиотеки находятся в том же каталоге, что и .exe. В вашем случае необходимо скопировать QtCore4.dll или Qt5Core.dll из каталога вашего компилятора, но вы захотите прочитать this page для более подробной информации в будущем.

Кроме того, в будущем, пожалуйста, опишите вашу проблему более подробно.

+0

Я развертываю это приложение (оно работает). Это приложение создает файлы мира. Но он не копирует файлы. Вопрос: «Как установить путь приложения?» – novicegis

+0

В прошлом файлы были расположены на диске C. В каталоге был C: \ bin \ ... И я всегда копировал эти файлы перед началом работы. Теперь я не хочу копировать эти файлы самостоятельно. – novicegis

+0

Извините, я думал, что это проблема с развертыванием. В этом случае вы, вероятно, захотите проверить, возвращает ли 'applicationDirPath()' правильный каталог, и если 'PathNew' указывает, где он должен. Возможно, вам придется конвертировать обратную косую черту в косые черты вперед или наоборот. Это все, что я знаю. –

Смежные вопросы