Проблема установки библиотеки "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
. Это решает проблему для меня на моей машине.
GRAPH_UNDIRECTED
в строке 8, когда он должен (вероятно) сказатьIGRAPH_UNDIRECTED
?