Проблема при установке библиотеки «IGRAPH» для C / C ++ в папке приложения
Я использую Ubuntu 13.04
Ссылка для скачивания: http://sourceforge.net/projects/igraph/?source=dlp
Я пытаюсь установить библиотеку «IGRAPH» для C / C ++ по этой ссылке:
http://igraph.sourceforge.net/doc/html/igraph-installation.html
http://igraph.sourceforge.net/doc/html/ch03s01.html
http://www.linphone.org/docs/mediastreamer2/mediastreamer2_install.html см. раздел «Имена установки»
Basic, чтобы установить полный набор библиотек C
$ ./configure
$ make
$ make install
По умолчанию, 'make install'
устанавливает команды пакета в /usr/local/bin
, включите файлы в /usr/local/include
и т. д. Я хочу установить пакет в моей директории приложения
Я изменил установку по умолчанию так:
$ ./configure
$ make
$ make install DESTDIR=~/Desktop/Graph/igraph/
Я пытаюсь скомпилировать следующий короткий пример программы:
#include "../usr/local/include/igraph/igraph.h"
int main(void) {
igraph_integer_t diameter;
igraph_t graph;
igraph_erdos_renyi_game(&graph, IGRAPH_ERDOS_RENYI_GNP, 1000, 5.0/1000, IGRAPH_UNDIRECTED, IGRAPH_NO_LOOPS);
igraph_diameter(&graph, &diameter, 0, 0, 0, IGRAPH_UNDIRECTED, 1);
printf("Diameter of a random graph with average degree 5: %d\n", (int) diameter);
igraph_destroy(&graph);
return 0;
}
Я компилирую программу с помощью команды:
gcc igraph_test.c -I~/Desktop/Graph/igraph/usr/local/include/igraph -L~/Desktop/Graph/igraph/usr/local/lib -ligraph -o igraph_test
Но эта ошибка возникает:
/usr/bin/ld: cannot find -ligraph
collect2: error: ld returned 1 exit status
Может кто-нибудь мне помочь?
Когда вы вызываете gcc
попробуйте указать полное имя вашего домашнего каталога (например, /Users/whatever/Desktop/Graph/igraph/usr/local/lib
) вместо простого указания ~/Desktop/Graph/igraph/usr/local/lib
, Сделать то же самое для ~/Desktop/Graph/igraph/usr/local/include
, Это решает проблему для меня на моей машине.
Других решений пока нет …