Statistics
| Revision:

svn-gvsig-desktop / trunk / libraries / libjni-readecw-linux / doc / link_Libs_Info.txt @ 4580

History | View | Annotate | Download (3.45 KB)

1
--------------------------------
2
ECW SOURCE COMPILATION IN LINUX
3
--------------------------------
4

    
5
You have download ecw sdk source from http://www.ermapper.com
6
You have modify the makefile.inc file in the NCSNighttlyBuild directory
7
	GCC_LIB_PATH = write your gcc path
8
	NCSTOP = Path to the source
9

    
10
Compiling reading libraries
11
	Go to NCSCnet3 directory and do make
12
	Go to NCSEcw directory and do make
13
	Go to NCSUtil directory and do make
14

    
15
COMPILING JECW
16

    
17
Go to NCSEcw directory and edit makefile
18
You must add this lines to the end of makefile
19

    
20
jecw:	ecw_jni.o
21
	$(CXX) -g -shared -Wl,-soname,libjecw.so -o libjecw.so.0.0.0 ecw_jni.o -lc -Wall -lNCSEcw -lNCScnet -lNCSUtil -L../../../../bin/linux/
22
	mv ./libjecw.so.0.0.0 $(NCS_LIB_PATH)
23

    
24
ecw_jni.o:
25
	$(CXX) -c ./ecw_jni.c $(CFLAGS)
26

    
27
Execute make jecw
28

    
29
COMPILING COMPRESSOR
30

    
31
You'll have to create the makefile to compile the compressor  inside the NCSEcw/shared_src directory and put there your host specific includes
32

    
33
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
34
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
35
LIBS = -lm -lc -lrt -ldl  -lstdc++ -lsupc++ -lgcc_s -lNCSCNet -lNCSEcw -lNCSUtil
36

    
37
all:
38
	gcc -O3 -c compress.cpp -Wall -Wno-long-long -fpic -DLINUX -DPOSIX $(INCLUDE) -D UNICODE -D ECW_COMPRESS -w
39
	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
40

    
41
install:
42
	cp ../../../../bin/linux/libNCSEcwC.so /lib
43

    
44
clean:
45
	rm compress.o
46
	rm ../../../../bin/linux/libNCSEcwC.so
47

    
48

    
49
----------------------------------
50
ECW SOURCE COMPILATION IN WINDOWS
51
----------------------------------
52

    
53
Ermapper includes support for the dll's compilation. 
54
There are some projects within the source files for Visual C for compile and link the libraries that come with the sdk
55
You must create a makefile.w32 file inside the NCSEcw directory in order to generate jecw.dll with this content:
56

    
57

    
58
#*****************************************
59

    
60
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"
61
DSTNO_LIB = "C:\windows\system32"
62
LIB_EXTERNAS = ../../../../bin/NCSUtil.lib ../../../../bin/NCSEcw.lib ../../../../bin/NCSEcwC.lib
63

    
64
#Compilers and programs
65

    
66
CC = cl.exe
67
LINK = link.exe
68

    
69
OBJS = ecw_jni.obj
70
NOM_LIB = jecw
71
LIB = $(NOM_LIB).dll
72

    
73
#Directories
74

    
75
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"
76
DEST_OBJS = ./bin
77
DISTRIBUCION = ./dist
78

    
79
#Files
80

    
81
FTE_HEADER_ECW = $(PAQUETE_ECW).JNCSFile
82

    
83
#Opciones
84

    
85
FLAGS = -c -W3 -G4 -D_X86_=1 -DDLL -DWIN32 -GX -MD -Zi -Od
86
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)
87
OPC_LINK = /nologo /dll /machine:I386 /incremental:yes /pdb:"$(NOM_LIB).pdb" /debug /out:"$(NOM_LIB).dll" /implib:"$(NOM_LIB).lib" 
88
VERS = 0.0.0
89

    
90
default:	$(OBJS) $(LIB)
91

    
92
ecw_jni.obj: 
93
	$(CC) $(FLAGS) -I$(INCLUDE) ./src/ecw_jni.c
94
	
95
$(LIB):	
96
	link $(STAT_LIB) $(OPC_LINK) $(LIBR) $(OBJS)
97
	
98
#*****************************************
99

    
100
Check that the paths of the includes match with our Visual C
101

    
102
Execute this command inside NCSEcw directory:
103
nmake /f makefile.w32