2011-02-13 10 views
3

Я пытаюсь скомпилировать c-источники с configure, make, make install trilogy.Как указать путь к XYZ, когда я использую configure --with-XYZ = yes

Поскольку я хочу собрать источники, так что они используют другую библиотеку (XYZ), который не используется по умолчанию, можно указать, что с

./configure --with-XYZ=yes 

Однако, на данный момент, XYZ не установлен в местоположении по умолчанию, поэтому, я думаю, я могу указать путь к местоположению XYZ с тем же скриптом configure. Если мое предположение верно, я был бы признателен, если бы кто-нибудь мог указать мне на правильное направление, как это сделать.

ответ

4

Укажите путь к библиотеке в командной строке, как это:

./configure --with-XYZ=yes LDFLAGS=-L/path/to/xyz 
+0

+1 LDFLAGS = ... намекнул мне в правильном направлении. Для полноты я также должен был указать «CPATH = ...». –

2

Наиболее общий способ, чтобы указать LDFLAGS (для -L) и CPPFLAGS (для -I) переменных, как ptomato описано.

Во многих случаях существуют другие способы, характерные для опции и пакета, который ее предоставляет. Иногда это может быть --with-XYZ=PATH, иногда это может быть --with-XYZ-path=PATH, иногда pkg-config. Вам нужно прочитать конкретную инсталляционную документацию или чаще, чем выполнять некоторые детективные работы.

+1

Использование --with-XYZ = PATH и т. Д. Для указания путей, специально запрещенных конвенциями программирования GNU. Вместо этого используйте LDFLAGS и CPPFLAGS. –

+1

@ Дана: Вы правы, но это не остановило многих людей от этого. :) Поэтому, когда вы пишете программное обеспечение, не делайте этого. Но когда вы хотите создать чужое программное обеспечение, ожидайте, что он сможет работать именно так. –