2015-06-08 3 views
0

Создает Autotools (LIBTOOL), не добавляя символы в общую библиотеку. Это для postgis, пожалуйста, найдите ниже файл Automake.autotools нет символов в libary

AR = ar rs 

CC = @[email protected] 
LIBLWGEOM_LDFLAGS = ../../liblwgeom/.libs/liblwgeom.lcona 
LIBLWGEOM_CFLAGS = -I../../liblwgeom 
LIBGDAL_CFLAGS = @[email protected] 
LIBGDAL_LDFLAGS = @[email protected] 
GEOS_LDFLAGS = @[email protected] -lgeos_c 
PROJ_LDFLAGS = @[email protected] -lproj 
LDFLAGS = $(LIBLWGEOM_LDFLAGS) $(LIBGDAL_LDFLAGS) $(PROJ_LDFLAGS) $(GEOS_LDFLAGS) 
CFLAGS = @[email protected] @[email protected] @[email protected] $(LIBLWGEOM_CFLAGS) $(LIBGDAL_CFLAGS) @[email protected] @[email protected] 

top_builddir = @[email protected] 
prefix = @[email protected] 
exec_prefix = @[email protected] 
libdir = @[email protected] 
includedir = @[email protected] 
SHELL = @[email protected] 
INSTALL = $(SHELL) ../install-sh 
LIBTOOL = @[email protected] 

SOVER = @[email protected]@[email protected]@[email protected] 


# Standalone RTCORE objects 
RT_OBJS = \ 
    rt_util.o \ 
    rt_spatial_relationship.o \ 
    rt_mapalgebra.o \ 
    rt_geometry.o \ 
    rt_statistics.o \ 
    rt_pixel.o \ 
    rt_warp.o \ 
    rt_band.o \ 
    rt_raster.o \ 
    rt_serialize.o \ 
    rt_wkb.o \ 
    rt_context.o 

RT_LIB = librtcore.la 
RT_HEADERS = \ 
    rt_serialize.h \ 
    librtcore.h \ 
    librtcore_internal.h \ 
    ../raster_config.h 

LT_RT_OBJS = $(RT_OBJ:.o=.lo) 
LT_OBJ = $(LT_RT_OBJ) 



all: librtcore.la 

install: install-librtcore 

uninstall: uninstall-librtcore 

install-librtcore: librtcore.la 
    $(LIBTOOL) --mode=install $(INSTALL) librtcore.la "$(DESTDIR)$(libdir)/librtcore.la" 
    $(INSTALL) librtcore.h "$(DESTDIR)$(includedir)/librtcore.h" 

unisntall-librtcore: 
    $(LIBTOOL) --mode-uninstall rm -f "$(DESTDIR)$(libdir)/liblrtcore.la" 


librtcore.la: $(LT_RT_OBJS) 
    $(LIBTOOL) --tag=CC --mode=link $(CC) -rpath $(libdir) $(LT_RT_OBJS) -release $(SOVER) $(LDFLAGS) -o [email protected] 


$(LT_RT_OBJS): %.lo : %.c 
    $(LIBTOOL) --mode=compile $(CC) $(CFLAGS) -c -o [email protected] $< 

clean: 
    rm -f $(RT_OBJS) 
    rm -f $(RT_LIB) 
    rm -f librtcore.la 
    rm -rf .libs 

distclean: clean 
    rm -f Makefile 

При попытке связать с общей библиотеки, я получаю следующую ошибку

неопределенная ссылка на `rtdealloc» Это мой первый опыт работы с Autotools.

ответ

0

rtdealloc определен в модуле rt_context.c исторически. Вам не хватает этого файла из ваших источников? Я не вижу его в объектных файлах.