30 июля 2018 г. 12:32

Не запускается исполняемый файл приложения, созданного в qtcreator qt5

Добрый день! Недавно выполнил сборку библиотеки Qt5.11.1 и qtcreator на одноплатном компьютере ODROID-XU4 с Ubuntu 18.04 по гайдам в сети. Все прошло хорошо, кроме одного недоразумения. В qtcreator приложение запускается, но в папке сборки исполняемый файл имеет иконку простого файла (не ромбиком) и не запускается: https://ibb.co/mm4LpT

К слову сказать, исполняемый файл самого qtcreator точно такой же, но он хотя бы запускается из терминала.
Подскажите, в чем может быть причина, куда копать? Сборка qt5 занимает 6-8 часов и это уже была шестая попытка, сил уже нет.



Рекомендуем хостинг TIMEWEB
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.
9

Могу предположить, что ему не даны права исполнения.

Можно попробовать исправить так из консоли
sudo chmod +x untitled2

0

Спасибо за ответ, но к сожалению эта команда из терминала не помогает. Ничего не происходит, в процессах untitled2 отсутствует.

0

Ну это только даёт права выполнения, а потом нужно попробовать его запустить.

sudo chmod +x untitled2
./untitled2

Вы же так делали?
1

Извиняюсь, торможу! Так запускается!

0

А как можно дать права выполнения навсегда и запускать не из терминала а по двойному клику?


0

Тут наверное уже от операционной системы будет зависеть.

У меня в KDE Neon не нужно это настраивать, но вот есть вариант настройки для обычной Ubuntu, который на форумах предлагают

Follow these steps:

  • Hit Alt+F2 , type dconf-editor and hit ``Enter.

  • In dconfg-editor goto: org ➤ gnome ➤ nautilus ➤ preferences

  • Click on executable-text-activation and from drop down menu select:

Не совсем уверен, насколько это будет рабочий вариант. Но всё сводится к тому, чтобы настроить сам файловый менеджер
0

Нашел другое решение. В файле .pro проекта добавил:

QMAKE_LFLAGS += -no-pie

Поведение происходит потому, что новые дистрибутивы ubuntu устанавливают флаг GCC по умолчанию -pie, который отмечает e_type как ET_DYN в двоичном файле. Следовательно, операционная система распознает как общую библиотеку.

Чтобы обойти это, может потребоваться добавить -no-pie в опции компилятора.




Теперь значек сменился на ромбик и исполняемый файл запускается. Ох уж эта новая ubuntu.

1

Свойство и права файла с помощью chmod и chown изменяются навсегда, а запуск файла по команде с клика ярлыка делается просто: файл кладется в /bin или в /usr/bin и потом в свойства ярлыка для запуска указывается имя файла.

1

Буду знать, спасибо!

0

Комментарии

Только авторизованные пользователи могут публиковать комментарии.
Пожалуйста, авторизуйтесь или зарегистрируйтесь
МБ
14 июля 2019 г. 17:57
Максим Беликов

C++ - Тест 005. Структуры и Классы

  • Результат:100баллов,
  • Очки рейтинга10
МБ
14 июля 2019 г. 17:52
Максим Беликов

C++ - Тест 004. Указатели, Массивы и Циклы

  • Результат:90баллов,
  • Очки рейтинга8
МБ
14 июля 2019 г. 17:45
Максим Беликов

C++ - Тест 003. Условия и циклы

  • Результат:71баллов,
  • Очки рейтинга1
Последние комментарии
16 июля 2019 г. 15:15
Евгений Легоцкой

Конечно )) На самом деле не все читали Шлее... я например не читал ))
16 июля 2019 г. 15:05
IscanderChe

Так пример с QLocalServer и QLocalSocket я целиком переписал с QTcpSocket и QTcpServer из книги Шлее. Принципиальное отличие - где коннект ставить. :)) Разве что на это упор сделать. Но я могу...
16 июля 2019 г. 14:47
Евгений Легоцкой

Лучше API ))) Кстати, по использованию QLocalServer и QLocalSocket на сайте нет статей, было бы очень полезно и хорошо пошло бы в раздел Qt.
16 июля 2019 г. 12:36
IscanderChe

Да, прямой доступ не предполагается. Впрочем, можно, конечно, и напрямую. Всё равно всё локально происходит. Проблема в том, как донести сведения об изменениях в базе, которые вносит клиент, д...
b
16 июля 2019 г. 8:38
bbb116

спасибо, до smart pointer еще не дошел )
Сейчас обсуждают на форуме
17 июля 2019 г. 11:49
Михаиллл

В настройкак указан индификатор проекта и ключ. Осталось понять как использовать ключ. Попробовал вставить в этот запрос 'https://[PROJECT_ID].firebaseio/users/jack/name.json?access_to...
b
17 июля 2019 г. 9:01
bbb116

Вообщем работает только если делать setSceneRect только в конструкторе главного окна, если потом менять rect например при вставке картинки то появляются сколлы все как надо только области не р...
17 июля 2019 г. 5:54
Алексей Внуков

хочу не стандартный набор символов, а все ненужное убрать чтоб не мешало. для начала решил посмотреть как работает клава на родном примере, а он на телефоне не взлетел вот и начал разби...
17 июля 2019 г. 5:06
Михаиллл

Добрый день.Возможно вы сталкивались с облаками.Нужно из Qt создавать на облаке папки, записывать в папки файлы, читать и удалять с компьютера файлы.Возможно знаете, что лучше и проще испол...
Ищу работу?
25,000.00 руб. - 30,000.00 руб.
Разработчик Qt/C++
Barnaul, Altai Krai, Russia

Для зарегистрированных пользователей на сайте присутствует минимальное количество рекламы

EVILEG
О нас
Услуги
Присоединяйтесь к нам
© EVILEG 2015-2019
Рекомендует хостинг TIMEWEB