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 |