Я пытаюсь сделать следующее Makefile на olaris SPARCКак связать общую библиотеку в Makefile
CC=/usr/sfw/bin/gcc
INCPATH=/export/home/compkvar/compile/inc
LIBPATH=/export/home/compkvar/compile/lib
SOURCEPATH=/export/home/compkvar/compile/src
.c.o:
$(CC) -c $< $(INCPATH) -I.
PSOURCE = driver.c
driver : driver.o
$(CC) -I$(INCPATH) -L$(LIBPATH) -o driver driver.c -lprivate
all : driver
clean :
rm driver.o driver
, но я получил ошибку следующее;
/usr/sfw/bin/gcc -I/export/home/compkvar/compile/inc -L/export/home/compkvar/compile/lib -o driver driver.c -lprivate
Undefined first referenced
symbol in file
isinf /export/home/compkvar/compile/lib/libprivate.so
ld: fatal: Symbol referencing errors. No output written to driver
collect2: ld returned 1 exit status
*** Error code 1
make: Fatal error: Command failed for target `driver'
libprivate.so разделяемой библиотеки существуют под '/ экспорт/дома/compkvar/компиляции/Lib' путь, но это не удалось найти:
bash-3.00$ pwd
/export/home/compkvar/compile/lib
bash-3.00$ ls -latr
total 14116
drwxr-xr-x 2 compkvar other 512 Sep 12 15:34 .
drwxr-xr-x 5 compkvar other 512 Sep 12 15:34 ..
-rwxrwxrwx 1 compkvar other 761180 Sep 12 15:43 libprivate.so
-rwxrwxrwx 1 compkvar other 2275492 Sep 12 15:43 libPricingFunctions.so
-rwxrwxrwx 1 compkvar other 1104576 Sep 12 15:43 libprfUtilities.a
-rwxrwxrwx 1 compkvar other 2275492 Sep 12 15:43 libPricingFunctions.so.1
-rwxrwxrwx 1 compkvar other 761180 Sep 12 15:43 libprivate.so.1
bash-3.00$
Спасибо заранее.
Вы читаете сообщение об ошибке неправильно - это не говорит, что он не может найти 'libprivate.so', но что-то в этой библиотеке ссылается другой символ (' isinf'), что не может найти в любой из библиотек, связанных. Как указывает user1969104, вам, вероятно, нужно связать в математической библиотеке. – twalberg
Что происходит, когда вы пытаетесь построить 'драйвер' из командной строки, не используя Make? Это не похоже на проблему «Сделать проблему». – Beta
Я попытался построить драйвер из командной строки, не используя make, но он тоже не удался. – mfu