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 -> Среда

сбросить переменную

Другие вопросы по тегам