Это всего лишь предположение - возможно, вам необходимо предоставить дополнительную информацию о вашей среде.Но, возможно, это уже помогает направить вас в правильном направлении.
Я думаю, что qmake
(особенно если вы установили Qt через официальный установщик Qt) в настоящее время автоматически устанавливает rpath в исполняемых вами файлахстроить.Это позволяет запускать программу из любого места, пока библиотеки Qt все еще находятся там, где они были на момент сборки приложения.
CMake, в свою очередь, не устанавливает rpath
автоматически.Это означает, что без дальнейших церемоний (обычно устанавливая переменную окружения LD_LIBRARY_PATH ) ваша программа не найдет библиотеки Qt и, следовательно, вообще не запустится.
Это объясняет, почему при использовании GNOMEВы не можете запустить свое приложение.Интересно то, что запуск приложения из терминала, кажется, работает.Это может иметь разные причины.Например, если вы установите LD_LIBRARY_PATH
в своем файле .bashrc
, для терминала будет установлена эта переменная среды, и, следовательно, любое приложение, из которого вы запускаете его, сможет найти вашу установку Qt.
Чтобы разрешить приложениючтобы также запускаться из GNOME, вы можете:
- установить вместо этого все необходимые переменные в файле
.bash_profile
и перезапустить GNOME. - Поручить CMake также установить
rpath
.