2014-10-15 1 views
0

Привет Я использую камеру промышленного зрения машины (Basler) в проекте на основе Qt. Я работаю под Linux Ubuntu 12.04 64 бит и Qt 4.8Почему Qt Creator дает «Абсолютный путь для библиотеки» Ошибка для известной библиотеки?

Я установил $ LD_LIBRARY_PATH и все необходимые переменные среды для поиска библиотек камер, но создатель Still Qt дает ошибку, когда хочет запустить мое приложение. он дает следующее сообщение об ошибке:

No absolute path for '/opt/GenICam_v2_3/bin/Linux64_x64/GenApi/Generic/libXMLLoader_gcc40_v2_3.so' 

это удивительно, что, когда я запускаю свой проект Qt с терминала Ubuntu он работает без каких-либо проблем, но когда я хочу, чтобы запустить его от создателя Qt дает приведенное выше сообщение об ошибке. почему создатель Qt не находит путь к библиотеке? Этот путь не является допустимым путем на моей машине, и у меня нет такой папки «/opt/GenICam_v2_3» на моей машине, и я не знаю, почему Qt настаивает на создании такой папки.

Я использовал команду ldd для своего приложения, и все библиотеки были найдены. Поэтому я уверен, что ничего не пропало.

Есть ли что-нибудь еще, что я забыл установить, прежде чем я смог запустить его в Qt Creator? Почему такое фантомное местоположение необходимо для Qt Creator?

Я пытался поставить мой libXMLLoader_gcc40_v2_3.so, который находится в другом месте, в приведенном выше месте, но это дает еще одно сообщение об ошибке в Qt Creator:

Environment variable 'GENICAM_ROOT_V2_3' not found 

я поставил эту переменную среды в/и т.д./bash.bashrc, поэтому я уверен, что я это объявил, но Qt Creator не может его найти.

Содержание bash.bashrc

export PYLON_ROOT=/opt/pylon4 
export GENICAM_ROOT_V2_3=${PYLON_ROOT}/genicam 
export GENICAM_CACHE_V2_3=$HOME/genicam_xml_cache 
export LD_LIBRARY_PATH=${PYLON_ROOT}/lib64:${GENICAM_ROOT_V2_3}/bin/Linux64_x64:${GENICAM_ROOT_V2_3}/bin/Linux64_x64/GenApi/Generic:$LD_LIBRARY_PATH 

Я скопировал всю вышеуказанную информацию .bashrc в домашней директории тоже.

Что делать, чтобы запускать мое приложение в Qt-создателе, потому что мне нужно отлаживать мое приложение, а в терминале Ubuntu я не могу легко это сделать.

Благодаря

ответ

1

Я также пытаюсь сделать работу камеры Basler, и у меня была точно такая же проблема, как вы; за исключением того, что такая же ошибка возникла при построении с терминала. Я получил ошибку, когда попытался выполнить один из примеров после его создания.

Для меня проблема заключалась в том, что я только установил пути для «GENICAM_ROOT» в .bashrc, а не для «GENICAM_ROOT_V2_3» (так как только «GENICAM_ROOT» использовался сопровождающим make-файлом). Добавление «GENICAM_ROOT_V2_3» решило проблему.

Мой .bashrc:

export PYLON_ROOT=/opt/pylon3 
export GENICAM_ROOT=/opt/pylon3/genicam 
export GENICAM_ROOT_V2_3=/opt/pylon3/genicam 
export GENICAM_CACHE=~/tmp 
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${PYLON_ROOT}/lib64 
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${GENICAM_ROOT}/bin/Linux64_x64 
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${GENICAM_ROOT}/bin/Linux64_x64/GenApi/Generic 

Надеется, что это может помочь кому-то.

+0

моя проблема была решена путем добавления «GENICAM_ROOT_V2_3 =/opt/pylon3/genicam» в окно среды сборки создателя qt ... но, в любом случае, спасибо, что заметили это – PsP

Смежные вопросы