2012-03-08 2 views
0

Как я могу запустить программу, которая уже была построена и скомпилирована ранее в Qt IDE, так что я могу взять эту программу и работать на любом компьютере, который я хочу, без перекомпиляции на этом компьютере. Я новичок так голый ответ на этот вопрос. :)Запуск программы Qt без IDE

Благодаря

+0

что вы хотите запустить? Если вы находитесь в терминале на Linux/Mac, все, что вам нужно сделать, это перейти в каталог исполняемого файла и './ ' для его запуска. – twain249

+0

Да, я хочу нажать на исполняемый файл (в папке отладки), сделанный IDE, чтобы выполнить программу. Но в окнах, когда я нажимаю его, он дает ошибку и не запускает его. –

+0

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

ответ

2

Есть несколько частей к вашей проблеме.

1) Вам необходимо скомпилировать его для каждой архитектуры, в которой вы хотите ее использовать.

2) Каждая архитектура будет иметь набор динамических библиотек Qt, связанных с ней, которые должны быть доступны.

3) Некоторые архитектуры имеют простой механизм развертывания. EG, на mac you can run "macdeployqt" to get the libraries into the application directory. For nokia phones (symbian, harmattan (N9), etc) QtCreator has a deploy step that will build a package for the phone and even include an icon.

4) For systems without such a feature, like linux and windows, вам либо нужно будет распространять двоичный файл, либо потребовать от пользователя иметь Qt или упаковать каталог/почтовый индекс, содержащий необходимые библиотеки Qt, и распространять его.

+0

Я собираюсь запустить его на всех машинах ОС Windows. программа, которую я сделал, также была скомпилирована в Windows! Итак, какие библиотеки мне следует сохранить с моей программой, чтобы запускать ее на других ПК без перекомпиляции? –

+0

Это зависит от модулей, которые необходимы в вашем файле .pro. Как правило, начинайте с минимума и идите оттуда, как при его запуске (в консоли) вы получите ошибку, сообщающую вам, чего не хватает. –

+1

Я добавил ссылку на слово Windows, чтобы вы могли перейти на страницу, описывающую ваши варианты в окнах. –

1

Он не запускается, потому что он не может найти зависимости. Поскольку вы находитесь в Windows, эти библиотеки можно перемещать в том же каталоге, что и ваше приложение. Чтобы узнать, какие библиотеки отсутствует, используйте dependency walker

Я уверен, что эти библиотеки не найдены:

  • динамические библиотеки Qt (можно найти на директории Qt бен, возьмите DLL)
  • C, используемые для компиляции. Если вы находитесь на создателе и используете настройку по умолчанию, это будет mingw-xxx (можно найти в каталоге установки Qt, точно не знаю где)
Смежные вопросы