Я использую Ubuntu 14.04 LTS, 64-разрядную версию. Я пытаюсь установить Notepadqq, порт Notepad++ из Windows в Linux. Я знаю о Vim и Emacs, но я привык к Notepad++ и мне это нравится. Я установил Блокнот, используя эту веб-страницу:

http://notepadqq.altervista.org/wp/

Когда я запустил его, всплыло диалоговое окно с жалобой на то, что на моем компьютере была установлена старая версия Qt, Qt 5.2.1. Затем я скачал и установил Qt 5.3.0, используя следующие инструкции:

wget http://download.qt-project.org/official_releases/qt/5.3/5.3.0/qt-opensource-linux-x64-5.3.0.run

chmod +x qt-opensource-linux-x64-5.3.0.run

./qt-opensource-linux-x64-5.3.0.run

С этой веб-страницы:

http://www.sysads.co.uk/2014/05/install-qt-5-3-ubuntu-14-04/

Процесс установки прошел без каких-либо ошибок. Однако, когда я запускаю Notepadqq, я все равно получаю диалоговое окно с жалобой на Qt. Я нервничаю по поводу удаления Qt 5.2.1, потому что держу пари, что от этой библиотеки зависит много другого кода? Так это путь или переменная окружения ? Как я могу это исправить?

ANECDOTE: Последний Linux-бокс, который я установил, был OpenSuse 9.x, давным-давно. Linux, безусловно, прошел долгий путь, и Ubuntu 14.04 прекрасна. Спасибо команде Ubuntu.

3 ответа3

4

Если ваш дистрибутив не предоставляет Qt 5.3, Notepadqq ожидает, что он будет расположен в ~/Qt/, в вашем домашнем каталоге.

Поэтому, когда вы запускаете ./qt-opensource-linux-x64-5.3.0.run и спрашивает, куда вы хотите установить Qt, используйте путь /home/<your_username>/Qt . Симлинк тоже будет работать.

Кстати, вы можете использовать самую последнюю версию Qt (5.3.2):

wget http://download.qt-project.org/official_releases/qt/5.3/5.3.2/qt-opensource-linux-x64-5.3.2.run
chmod +x qt-opensource-linux-x64-5.3.2.run
./qt-opensource-linux-x64-5.3.2.run

Что если у меня уже есть другая версия Qt в ~/Qt?

Допустим, у вас уже установлена более старая версия Qt в ~/Qt: Notepadqq будет игнорировать ее.

Теперь, чтобы сделать Qt5.3 доступным для Notepadqq, вы можете установить его в каталог по вашему выбору (скажем, ~/Qt53). Затем вы создаете символическую ссылку на внутреннюю папку «5.3», как показано ниже:

ln -dsr ~/Qt53/5.3 ~/Qt

Две версии Qt будут сосуществовать без проблем, и notepadqq сможет найти файлы в ~/Qt53/5.3

0

Связано с этой проблемой: Если вы установили последнюю версию Qt 5.6, вам нужно изменить файл notepadqq, находящийся в /usr /bin. Не забудьте отредактировать файл notepadqq с привилегиями суперпользователя, в противном случае вы получите "доступ запрещен".

Вот как выглядит мой файл конфигурации после редактирования:

#!/bin/sh
SCRIPTPATH="$(dirname "$(readlink -f "$0")")"

if [ `getconf LONG_BIT` = "64" ]
then
    GCC_DIR=gcc_64
else
    GCC_DIR=gcc
fi

OPT_QT56=/opt/Qt/5.6/$GCC_DIR/lib
OPT_QT55=/opt/Qt/5.5/$GCC_DIR/lib
OPT_QT54=/opt/Qt/5.4/$GCC_DIR/lib
OPT_QT53=/opt/Qt/5.3/$GCC_DIR/lib
PERSONAL_QT56=~/Qt/5.6/$GCC_DIR/lib
PERSONAL_QT55=~/Qt/5.5/$GCC_DIR/lib
PERSONAL_QT54=~/Qt/5.4/$GCC_DIR/lib
PERSONAL_QT53=~/Qt/5.3/$GCC_DIR/lib

export LD_LIBRARY_PATH="$OPT_QT56:$PERSONAL_QT56:$OPT_QT55:$PERSONAL_QT55:$OPT_QT54:$PERSONAL_QT54:$OPT_QT53:$PERSONAL_QT53:${LD_LIBRARY_PATH}"

if [ -f "$SCRIPTPATH"/../lib/notepadqq/notepadqq-bin ]; then
    # Nqq is installed: this script is in bin/
    exec "$SCRIPTPATH"/../lib/notepadqq/notepadqq-bin "$@"
elif [ -f "$SCRIPTPATH"/../lib/notepadqq-bin ]; then
    # Nqq is not installed: this script is in bin/
    exec "$SCRIPTPATH"/../lib/notepadqq-bin "$@"
else
    # Nqq is installed via deb package:
    # this script is in the same directory as the binary file.
    exec "$SCRIPTPATH"/notepadqq-bin "$@"
fi
0

Я установил последнюю версию Qt 5.10.1 с http://download.qt.io/official_releases/qt/5.10/5.10.1/ в локальную папку ~/Qt5.10.1, затем создал ссылку в папке ~/ с ln -dsr ~/Qt5.10.1/5.10.1 ~/Qt но notepadqq все еще жаловался на неправильную версию qt = 5.2.1. Затем я изменил файл / usr / bin / notepadqq следующим образом (поскольку в сценарии не было опции для версии 5.10.1):

#!/bin/sh
SCRIPTPATH="$(dirname "$(readlink -f "$0")")"

if [ `getconf LONG_BIT` = "64" ]
then
    GCC_DIR=gcc_64
else
    GCC_DIR=gcc
fi

OPT_QT5101=/opt/Qt/$GCC_DIR/lib
OPT_QT59=/opt/Qt/5.9/$GCC_DIR/lib
OPT_QT58=/opt/Qt/5.8/$GCC_DIR/lib
OPT_QT57=/opt/Qt/5.7/$GCC_DIR/lib
OPT_QT56=/opt/Qt/5.6/$GCC_DIR/lib
OPT_QT55=/opt/Qt/5.5/$GCC_DIR/lib
OPT_QT54=/opt/Qt/5.4/$GCC_DIR/lib
OPT_QT53=/opt/Qt/5.3/$GCC_DIR/lib
PERSONAL_QT5101=~/Qt/$GCC_DIR/lib
PERSONAL_QT59=~/Qt/5.9/$GCC_DIR/lib
PERSONAL_QT58=~/Qt/5.8/$GCC_DIR/lib
PERSONAL_QT57=~/Qt/5.7/$GCC_DIR/lib
PERSONAL_QT56=~/Qt/5.6/$GCC_DIR/lib
PERSONAL_QT55=~/Qt/5.5/$GCC_DIR/lib
PERSONAL_QT54=~/Qt/5.4/$GCC_DIR/lib
PERSONAL_QT53=~/Qt/5.3/$GCC_DIR/lib

export LD_LIBRARY_PATH="$OPT_QT5101:$PERSONAL_QT5101:$OPT_QT59:$PERSONAL_QT59:$OPT_QT58:$PERSONAL_QT58:$OPT_QT57:$PERSONAL_QT57:$OPT_QT56:$PERSONAL_QT56:$OPT_QT55:$PERSONAL_QT55:$OPT_QT54:$PERSONAL_QT54:$OPT_QT53:$PERSONAL_QT53:${LD_LIBRARY_PATH}
...skipped...

и только тогда notepadqq работает без нареканий на версию qt.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .