pkg-config не может найти пакеты при запуске из eclipse
У меня раздражающая проблема. Я использую pkg-config в проекте. Это работало нормально, но теперь это не так (не знаю, что изменилось) Когда я связываю из затмения изнутри эту строку:
g++ `pkg-config --libs opencv` -o"RawConverterTgi" ./main.o
Я получаю ошибку:
Package opencv was not found in the pkg-config search path.
Perhaps you should add the directory containing `opencv.pc'
to the PKG_CONFIG_PATH environment variable
No package 'opencv' found
Но когда я бегу
pkg-config --libs opencv
в консоли я получаю
-L/usr/local/opencv2.3.1/lib -lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_ml -lopencv_video -lopencv_features2d -lopencv_calib3d -lopencv_objdetect -lopencv_contrib -lopencv_legacy -lopencv_flann
чего я и ожидал
Если я скомпилирую / создаю ссылку с консоли, используя make-файл, сгенерированный eclipse, он работает нормально.
Если я укажу, где находится файл opencv.pc, установив $PKG_CONFIG_PATH внутри eclipse, это сработает (это делается путем добавления в $PKG_SEARCH_PATH). Так что по какой-то причине pkg-config не выполняет поиск в каталоге по умолчанию / usr / lib / pkgconfig при вызове из eclipse, но при вызове из командной строки делает.
Может кто-нибудь помочь мне исправить это так, что pkg-config ищет каталог по умолчанию также при вызове из eclipse? (добавление dir по умолчанию в $ PKG_SEARCH_PATH - это решение, но это не является необходимым или правильным способом)
Моя установка выглядит следующим образом
Затмение Гелиос
CDT 7.0
pkg-config версия 0.25
1 ответ
Я нашел решение своей проблемы.
Я не уверен почему, но в eclipse Helios кажется, что eclipse автоматически определяет переменную окружения с именем $PKG_CONFIG_LIBDIR. Если эта переменная существует, путь поиска по умолчанию для pkg-config изменяется на любой, находящийся в этой переменной. Решение состоит в том, чтобы просто определить эту переменную.
от затмения перейти к:
Свойства проекта->C/C++ build -> Среда
сбросить переменную