Как связать библиотеку в C / c ++ проекте в Ubuntu 12.04

0

Я попытался установить libantlr3c-3.4. Когда я запустил sudo make install, он успешно установил его и дал следующий результат:

libtool: install: /usr/bin/install -c .libs/libantlr3c.so /opt/open64/lib/libantlr3c.so
libtool: install: /usr/bin/install -c .libs/libantlr3c.lai /opt/open64/lib/libantlr3c.la
libtool: install: /usr/bin/install -c .libs/libantlr3c.a /opt/open64/lib/libantlr3c.a
libtool: install: chmod 644 /opt/open64/lib/libantlr3c.a
libtool: install: ranlib /opt/open64/lib/libantlr3c.a
libtool: finish: PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/sbin" ldconfig -n /opt/open64/lib
----------------------------------------------------------------------
Libraries have been installed in:
   /opt/open64/lib

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the '-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the 'LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the 'LD_RUN_PATH' environment variable
     during linking
   - use the '-Wl,-rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to '/etc/ld.so.conf'

После чего я запускаю make на другой проект, который дает мне следующую ошибку:

 fatal error: antlr3.h: No such file or directory

Я попытался вставить путь /opt/open64/lib в /etc/ld.so.conf, который затем содержал следующую информацию:

include /etc/ld.so.conf.d/*.conf
include /opt/open64/lib

Я снова запустил make и снова получил ту же ошибку.

Я новичок в C и новичок в настройке путей библиотек. Может кто-нибудь, пожалуйста, назовите меня, как мне сделать свой проект.

Процедура, которую я использовал для установки libantlr3c-3.4:

tar -xzvf libantlr3c-3.4.tar.gz
./configure
make 
make install
  • 0
    Ошибка связана с тем фактом, что компилятор не может найти antlr3.h заголовка antlr3.h и поэтому компиляция не удалась, вы даже не дошли до шага ссылки. Вам необходимо настроить пути включения для вашего проекта.
  • 0
    Я думаю, вам следует установить пакет devel (может быть, есть возможность make devel ?) Или вручную найти файл include и добавить его dir как include dir (-I)
Показать ещё 3 комментария
Теги:

1 ответ

0

Компилятор не знает, где находится.h. Когда вы компилируете, вы должны сказать, где искать. Из командной строки:

   gcc -I path_to_where_h_file_lives myFile.cpp

Ещё вопросы

Сообщество Overcoder
Наверх
Меню