После установки qwt-6.1.2.zip я вижу его по адресу:"ошибка поиска символа: ...: undefined symbol" (Qwt) Должен ли я установить LD_LIBRARY_PATH?
/usr/local/qwt-6.1.2/lib/libqwt.so
приложение Qt Я занимаюсь разработкой зависит в, так .pro имеет следующее:
INCLUDEPATH += "/usr/local/qwt-6.1.2/include"
LIBS += -L"/usr/local/qwt-6.1.2/lib"
CONFIG(debug, debug|release) {
LIBS += -lqwtd
} else {
LIBS += -lqwt
}
Это компилирует хорошо, но исполнение (за пределами QtCreator) дает:
"symbol lookup error: ...: undefined symbol"
Что решается делать:
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/qwt-6.1.2/lib
export LD_LIBRARY_PATH
Если я правильно понял, LD_LIBRARY_PATH should only be set in case the .so files are in exotic (non-standard) locations. Вопрос, /usr/local/qwt-6.1.2/lib
является стандартным (я думаю, нет)?
Когда и где следует установить LD_LIBRARY_PATH? Я думаю, что один вариант, чтобы сделать это во время установки, что-то вроде:
echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/qwt-6.1.2/lib" >> .bashrc
echo "export LD_LIBRARY_PATH" >> .bashrc
Один недостаток этого является то, что несколько установок будет писать этот материал несколько раз в .bashrc.
Мой вопрос связан с this, и на самом деле я закончил с использованием идеи -rpath
, но я думаю, что здесь контекст можно рассматривать как более конкретный, связанный с Qt, поэтому он не дублируется. Фактически, я закончил использование this.
Возможный дубликат [В чем разница между -rpath и -L?] (Http://stackoverflow.com/questions/8482152/whats-the-difference-between-rpath-and -l) –