Ссылка на внешние библиотеки C++

Я только начал программировать на С++. Для моей новой работы мне нужно скачать, установить и использовать внешнюю библиотеку. Называется ДВС. Он был составлен в виде файла .tar, поэтому я разложил его в своем домашнем каталоге «/home/foo/ice». Теперь есть каталог: "/home/foo/ice/src" со всеми заголовками .h, которые мне нужны для программы. Но могу я сказать компилятору, где он может найти все эти новые заголовки? Я имею в виду только с #include, он явно не знает.

Что мне нужно:

#include <image.h>

"image.h" находится внутри "/home/foo/ice/src"

Привет


person user1786193    schedule 02.11.2013    source источник
comment
Библиотеки обычно поставляются с документацией, в которой рассказывается, как их установить. (Обычно что-то вроде ./configure && make && sudo make install).   -  person Daniel Frey    schedule 02.11.2013
comment
И компиляторы также обычно поставляются с документацией, как установить путь поиска включаемого файла. (Обычно -I<directory>.)   -  person Martin R    schedule 02.11.2013
comment
Вам нужно сказать, какой компилятор, но я рискну предположить, что это g++ или clang. Затем вы используете -I /directory/path, чтобы сказать, где найти #include, -L /d/p, чтобы найти библиотеки, и -l ice, чтобы связать libice.a.   -  person BoBTFish    schedule 02.11.2013


Ответы (2)


Если у вас есть компилятор gcc, вы можете использовать опцию -I.

Из руководства:

-I dir: добавить каталог dir в список каталогов для поиска файлов заголовков.

Итак, для вас это должно быть что-то вроде этого:

g++ myprog.cpp -I /home/foo/ice/src -o myprog

Но лучше установить библиотеку, у вас должен быть какой-нибудь файл readme.txt или INSTALL о том, как это сделать.

person klm123    schedule 02.11.2013

Вы спрашивали о связывании библиотеки, но ваше описание показывает, что у вас есть проблемы с путем включения, на который klm123 уже ответил.

Пути к библиотекам для компоновки — это еще один вариант, обычно -Llibpath Может помочь проверить параметры вашего компилятора, например, здесь Параметры каталога GCC

person Wolf    schedule 02.11.2013