-------------------------------- COMPILAR FUENTES DE ECW EN LINUX -------------------------------- Debes bajar las fuentes del sdk de Ecw de Ermapper de http://www.ermapper.com Cambiar el makefile.inc del directorio NCSNighttlyBuild GCC_LIB_PATH = tu path de librerias gcc NCSTOP = Ruta de los fuentes Compilar librerias de lectura Ir al directorio NCSCnet3 y hacer make Ir al directorio NCSEcw y hacer make Ir al directorio NCSUtil y hacer make COMPILAR JECW Ir al directorio NCSEcw y editar el makefile Añadirle las líneas al final jecw: ecw_jni.o $(CXX) -g -shared -Wl,-soname,libjecw.so -o libjecw.so.0.0.0 ecw_jni.o -lc -Wall -lNCSEcw -lNCScnet -lNCSUtil -L../../../../bin/linux/ mv ./libjecw.so.0.0.0 $(NCS_LIB_PATH) ecw_jni.o: $(CXX) -c ./ecw_jni.c $(CFLAGS) Ejecutar make jecw COMPILAR COMPRESOR Crear un makefile para el compresor en NCSEcw/shared_src poniendole los includes de tu máquina INCLUDE = -I../../../include -I/usr/local/include/g++-v3 -I/usr/local/j2sdk1.4.2_03/include/ -I/usr/local/j2sdk1.4.2_03/include/linux -I../lcms/include DIR_LIBS = -L/usr/lib/gcc-lib/i486-linux/3.3.5 -L/usr/lib -L/usr/local/lib -L/home/flus/gdal/SourceC_ecw/bin/linux LIBS = -lm -lc -lrt -ldl -lstdc++ -lsupc++ -lgcc_s -lNCSCNet -lNCSEcw -lNCSUtil all: gcc -O3 -c compress.cpp -Wall -Wno-long-long -fpic -DLINUX -DPOSIX $(INCLUDE) -D UNICODE -D ECW_COMPRESS -w gcc -shared -s -z defs $(DIR_LIBS) compress.o /usr/lib/gcc-lib/i586-suse-linux/3.3.1/libgcc.a $(LIBS) -o ../../../../bin/linux/libNCSEcwC.so install: cp ../../../../bin/linux/libNCSEcwC.so /lib clean: rm compress.o rm ../../../../bin/linux/libNCSEcwC.so ---------------------------------- COMPILAR FUENTES DE ECW EN WINDOWS ---------------------------------- Ermapper proporciona soporte para la compilación de las dll en windows. Existen proyectos dentro de los fuentes para Visual C para compilar y enlazar las librerias. Para la generación de jecw.dll crear un makefile.w32 demtro del directorio NCSEcw con el contenido: #***************************************** LIBR = /LIBPATH:"C:\Archivos de programa\Microsoft Visual Studio .NET 2003\Vc7\lib" /LIBPATH:"C:\Archivos de programa\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\lib" DSTNO_LIB = "C:\windows\system32" LIB_EXTERNAS = ../../../../bin/NCSUtil.lib ../../../../bin/NCSEcw.lib ../../../../bin/NCSEcwC.lib #Compiladores y Programas CC = cl.exe LINK = link.exe OBJS = ecw_jni.obj NOM_LIB = jecw LIB = $(NOM_LIB).dll #Directorios INCLUDE = -I./include -I"C:\Archivos de programa\Microsoft Visual Studio .NET 2003\Vc7\include" -I"C:\Archivos de programa\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include" DEST_OBJS = ./bin DISTRIBUCION = ./dist #Ficheros FTE_HEADER_ECW = $(PAQUETE_ECW).JNCSFile #Opciones FLAGS = -c -W3 -G4 -D_X86_=1 -DDLL -DWIN32 -GX -MD -Zi -Od STAT_LIB = kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib $(LIB_EXTERNAS) OPC_LINK = /nologo /dll /machine:I386 /incremental:yes /pdb:"$(NOM_LIB).pdb" /debug /out:"$(NOM_LIB).dll" /implib:"$(NOM_LIB).lib" VERS = 0.0.0 default: $(OBJS) $(LIB) ecw_jni.obj: $(CC) $(FLAGS) -I$(INCLUDE) ./src/ecw_jni.c $(LIB): link $(STAT_LIB) $(OPC_LINK) $(LIBR) $(OBJS) #***************************************** Comprobar que las rutas de los includes coinciden con las de nuestro Visual C Ejecutar dentro del directorio NCSEcw el comando nmake /f makefile.w32