Я пытаюсь запустить программу TransitTalker.exe, который мой скомпилированный код из Qt, как показано на рисунке:Qt 5.0.1: Приложение не будет выполняться за пределами Qt Creator
https://www.dropbox.com/s/ypgklrm4uschri5/filecontents.png
(Обратите внимание, что у меня нет достаточной репутации размещать изображения, которые по этой причине я предоставил ссылку на изображение)
Моя проблема:
Моя программа не выполняется за пределами создателя qt.
Я получил следующее сообщение о попытке запустить TransitTalker.exe: «Это приложение попросило Runtime прекратить его необычным способом. Для получения дополнительной информации обратитесь в службу поддержки приложения».
Что я сделал уже:
Я добавил необходимый DLL (кроме GPSVC.dll и ieshims.dll). Я нашел требуемую DLL через программу, называемую зависимым ходоком.
Я убедился, что моя программа запускается внутри создателя qt без ошибок.
Мой главный вопрос: Почему я получаю это сообщение во время выполнения: «. Это приложение просил Runtime прекратить его необычным способом, обратитесь в службу поддержки приложения для получения дополнительной информации». Я хочу иметь возможность запускать свою программу TransitTalker.exe в качестве автономного приложения qt.
Запуск qt creator 5.0.1 (MINGW 47_32). У меня есть Visual Studio 2012 на том же компьютере.
Обратите внимание, что файлы C++ и o из создаваемой программы –
> Я нашел требуемую DLL через программу, называемую зависимым ходоком. Я предполагаю, что эти DLL либо встроенные в Windows библиотеки, либо библиотеки libs, созданные в среде MS Visual Studio. Вы создали свое приложение с MinGW. Двоичный код, предоставленный этими инструментами, несовместим друг с другом, поэтому вы получаете ошибки во время выполнения. QtCreator связывает правильные библиотеки MinGW при запуске приложения внутри него (поскольку он знает, что вы создали приложение с помощью инструментария MinGW) и Windows runtime связывает свои несовместимые библиотеки, что приводит к сбою приложения. – Dmitry
DLL, который я нашел через хотлу зависимости, был в qt. Все, что я сделал, это скопировать dll в папку, где находится исполняемый файл. –