2013-05-17 2 views
0

Я пытаюсь использовать несколько динамических библиотек, которые я написал, но gcc, похоже, не может их найти, и я не понимаю, почему это так. Файлы libresistance.so, libcomponent.so и libpower.so находятся в каталоге/usr/lib по умолчанию для динамических библиотек Linux, насколько я понимаю. Так что я делаю неправильно?Включите несколько файлов .so

файл C

#include <resistance.h> 
#include <component.h> 
#include <power.h> 
int main(int argc, char *argv[]) 
{ 
} 

Makefile

all: 
    gcc `pkg-config --cflags gtk+-2.0` -o elektrotestgtk main.c `pkg-config --libs gtk+-2.0` -L. -lresistance -lpower -lcomponent -Wl,-rpath, 
+0

Вы запустили 'ldconfig' после установки библиотек? И вы можете тщательно редактировать '/ etc/ld.so.conf' ... –

+1

Также лучше добавить в свой * Makefile * некоторую строку, например' CFLAGS = -Wall $ (shell pkg-config --cflags gtk + -2.0) 'и' LDLIBS = $ (shell pkg-config -libs gtk + -2.0) -L. -lresistance' ... Наконец, вы должны рассмотреть возможность перехода на GTK3 для своих приложений. –

ответ

0

Я нашел ответ, чтобы иметь возможность компиляцию программы НКУ нужны файлы .h и для того, чтобы найти их, они необходимо разместить в/usr/include.

Смежные вопросы