2014-02-04 4 views
0

Я построил podofo-0.9.2 с помощью стандартного cmake и сделаю процедуру установки. У меня есть файлы в каталоге/usr/include/podofo. Я добавил его на свой путь. Затем я попытался скомпилировать пример podofotxtextract, используя следующий синтаксис.podofo.h - Нет такого файла или каталога

cd podofo/tools/podofotxtextract 
g++ -c -Wall TextExtractor.cpp TextExtractor.h podofotxtextract.cpp -lpodofo -lfreetype 
-lfontconfig -ljpeg -lz 

Но по какой-то причине компиляция терпит неудачу, говоря:

podofo.h - no such file or directory 

Это значение моего пути

/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/include/podofo 

Может быть, я что-то не хватает. Я связал библиотеки. Я даже включил его в путь. Что мне не хватает?

+0

Как вы включили заголовок? '#include ' или '#include" podofo.h "'? – JBL

+0

#include (я знаю #include "podofo.h" - это тот же каталог/тот же заголовок проекта) –

ответ

1

Я думаю, что вы пропустите -I для установки включают путь. Это ошибка компиляции, а не компоновщик.

-I/path/to/dir/of/podofo 
+0

Спасибо! Можно ли как-то обойти эту ошибку? Не могу ли я добавить это в какой-нибудь файл? (Я добавил каталог в файл $ PATH: файл include находится в/usr/include/podofo, но каким-то образом он не может найти его там). Еще раз спасибо. –

+0

Не ожидается, что пакет '$ PATH' будет обрабатывать входящие, обратитесь к [Справочному руководству по параметрам среды GCC] (http://gcc.gnu.org/onlinedocs/gcc/Environment-Variables.html) для получения дополнительной информации. В качестве вашей зависимости вы можете использовать CMake (и 'include_directories' +' find_package'), чтобы автоматизировать это. – opatry

1

Используйте опцию I, чтобы добавить podofo.h 'findable' от g++ (см. this, может помочь).

g++ -c -Wall -I/my/path/to/podofo/h TextExtractor.cpp TextExtractor.h podofotxtextract.cpp -lpodofo -lfreetype -lfontconfig -ljpeg -lz

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