Several Linker error: Undefined reference to

Compilation and installation of DCMTK

Moderator: Moderator Team

Post Reply
Message
Author
enrique
Posts: 6
Joined: Fri, 2008-03-28, 15:36

Several Linker error: Undefined reference to

#1 Post by enrique »

Hi everybody,
I'm trying to create a DLL to use the compression/decompression functions from a Delphi program. Basicly I created 2 "export" functions and copied the source of the dcmcjpeg and dcmdjpeg applications in the respective function. Before that, I build the required libraries:ofstd, dcmdata, dcmimgle, dcmimage, dcmjpeg, libijg8, libijg12 and libijg16. No errors reported in that steps. But, when I trying to build the DLL, I get several linker errors. The following is the compiller's log:

Compilador: Default compiler
Building Makefile: "C:\Prog\Dicom\dll\Makefile.win"
Executando make...
make.exe -f "C:\Prog\Dicom\dll\Makefile.win" all
dllwrap.exe --output-def liblibdcmcjpeg.def --driver-name c++ --implib liblibdcmcjpeg.a dllmain.o -L"C:/Dev-Cpp/lib" --no-export-all-symbols --add-stdcall-alias ../dcmjpeg/dcmjpeg.a ../dcmdata/dcmdata.a ../dcmimage/dcmimage.a ../dcmimgle/dcmimgle.a ../ofstd/libofstd.a ../../../Dev-Cpp/lib/libnetapi32.a ../../../Dev-Cpp/lib/libwsock32.a -o libdcmcjpeg.dll

../dcmjpeg/dcmjpeg.a(djeijg8.o):djeijg8.cxx:(.text+0xf4b): undefined reference to `jpeg8_std_error'
../dcmjpeg/dcmjpeg.a(djeijg8.o):djeijg8.cxx:(.text+0xfb5): undefined reference to `jpeg8_destroy_compress'
../dcmjpeg/dcmjpeg.a(djeijg8.o):djeijg8.cxx:(.text+0x1092): undefined reference to `jpeg8_CreateCompress'
../dcmjpeg/dcmjpeg.a(djeijg8.o):djeijg8.cxx:(.text+0x1102): undefined reference to `jpeg8_set_defaults'
../dcmjpeg/dcmjpeg.a(djeijg8.o):djeijg8.cxx:(.text+0x112c): undefined reference to `jpeg8_set_colorspace'
../dcmjpeg/dcmjpeg.a(djeijg8.o):djeijg8.cxx:(.text+0x119b): undefined reference to `jpeg8_set_quality'
../dcmjpeg/dcmjpeg.a(djeijg8.o):djeijg8.cxx:(.text+0x11cb): undefined reference to `jpeg8_set_quality'
../dcmjpeg/dcmjpeg.a(djeijg8.o):djeijg8.cxx:(.text+0x11fb): undefined reference to `jpeg8_set_quality'
../dcmjpeg/dcmjpeg.a(djeijg8.o):djeijg8.cxx:(.text+0x1236): undefined reference to `jpeg8_set_quality'
../dcmjpeg/dcmjpeg.a(djeijg8.o):djeijg8.cxx:(.text+0x1244): undefined reference to `jpeg8_simple_progression'
../dcmjpeg/dcmjpeg.a(djeijg8.o):djeijg8.cxx:(.text+0x1272): undefined reference to `jpeg8_simple_lossless'
../dcmjpeg/dcmjpeg.a(djeijg8.o):djeijg8.cxx:(.text+0x13c8): undefined reference to `jpeg8_start_compress'
../dcmjpeg/dcmjpeg.a(djeijg8.o):djeijg8.cxx:(.text+0x1427): undefined reference to `jpeg8_write_scanlines'

../dcmjpeg/dcmjpeg.a(djeijg8.o):djeijg8.cxx:(.text+0x1441): undefined reference to `jpeg8_finish_compress'
../dcmjpeg/dcmjpeg.a(djeijg8.o):djeijg8.cxx:(.text+0x144f): undefined reference to `jpeg8_destroy_compress'
../dcmjpeg/dcmjpeg.a(djeijg12.o):djeijg12.cxx:(.text+0xf57): undefined reference to `jpeg12_std_error'
../dcmjpeg/dcmjpeg.a(djeijg12.o):djeijg12.cxx:(.text+0xfc1): undefined reference to `jpeg12_destroy_compress'

../dcmjpeg/dcmjpeg.a(djeijg12.o):djeijg12.cxx:(.text+0x109e): undefined reference to `jpeg12_CreateCompress'
../dcmjpeg/dcmjpeg.a(djeijg12.o):djeijg12.cxx:(.text+0x110e): undefined reference to `jpeg12_set_defaults'
../dcmjpeg/dcmjpeg.a(djeijg12.o):djeijg12.cxx:(.text+0x1138): undefined reference to `jpeg12_set_colorspace'
../dcmjpeg/dcmjpeg.a(djeijg12.o):djeijg12.cxx:(.text+0x119a): undefined reference to `jpeg12_set_quality'
../dcmjpeg/dcmjpeg.a(djeijg12.o):djeijg12.cxx:(.text+0x11ca): undefined reference to `jpeg12_set_quality'
../dcmjpeg/dcmjpeg.a(djeijg12.o):djeijg12.cxx:(.text+0x1205): undefined reference to `jpeg12_set_quality'
../dcmjpeg/dcmjpeg.a(djeijg12.o):djeijg12.cxx:(.text+0x1213): undefined reference to `jpeg12_simple_progression'
../dcmjpeg/dcmjpeg.a(djeijg12.o):djeijg12.cxx:(.text+0x1241): undefined reference to `jpeg12_simple_lossless'
../dcmjpeg/dcmjpeg.a(djeijg12.o):djeijg12.cxx:(.text+0x1397): undefined reference to `jpeg12_start_compress'
../dcmjpeg/dcmjpeg.a(djeijg12.o):djeijg12.cxx:(.text+0x13f8): undefined reference to `jpeg12_write_scanlines'
../dcmjpeg/dcmjpeg.a(djeijg12.o):djeijg12.cxx:(.text+0x1412): undefined reference to `jpeg12_finish_compress'
../dcmjpeg/dcmjpeg.a(djeijg12.o):djeijg12.cxx:(.text+0x1420): undefined reference to `jpeg12_destroy_compress'
../dcmjpeg/dcmjpeg.a(djeijg16.o):djeijg16.cxx:(.text+0x7db): undefined reference to `jpeg16_std_error'
../dcmjpeg/dcmjpeg.a(djeijg16.o):djeijg16.cxx:(.text+0x845): undefined reference to `jpeg16_destroy_compress'
../dcmjpeg/dcmjpeg.a(djeijg16.o):djeijg16.cxx:(.text+0x913): undefined reference to `jpeg16_CreateCompress'
../dcmjpeg/dcmjpeg.a(djeijg16.o):djeijg16.cxx:(.text+0x983): undefined reference to `jpeg16_set_defaults'
../dcmjpeg/dcmjpeg.a(djeijg16.o):djeijg16.cxx:(.text+0x9ad): undefined reference to `jpeg16_set_colorspace'
../dcmjpeg/dcmjpeg.a(djeijg16.o):djeijg16.cxx:(.text+0x9f0): undefined reference to `jpeg16_simple_lossless'

../dcmjpeg/dcmjpeg.a(djeijg16.o):djeijg16.cxx:(.text+0xc17): undefined reference to `jpeg16_start_compress'
../dcmjpeg/dcmjpeg.a(djeijg16.o):djeijg16.cxx:(.text+0xc78): undefined reference to `jpeg16_write_scanlines'
../dcmjpeg/dcmjpeg.a(djeijg16.o):djeijg16.cxx:(.text+0xc92): undefined reference to `jpeg16_finish_compress'
../dcmjpeg/dcmjpeg.a(djeijg16.o):djeijg16.cxx:(.text+0xca0): undefined reference to `jpeg16_destroy_compress'
../dcmjpeg/dcmjpeg.a(djdijg8.o):djdijg8.cxx:(.text+0x704): undefined reference to `jpeg8_resync_to_restart'
../dcmjpeg/dcmjpeg.a(djdijg8.o):djdijg8.cxx:(.text+0x7a7): undefined reference to `jpeg8_std_error'
../dcmjpeg/dcmjpeg.a(djdijg8.o):djdijg8.cxx:(.text+0x925): undefined reference to `jpeg8_CreateDecompress'
../dcmjpeg/dcmjpeg.a(djdijg8.o):djdijg8.cxx:(.text+0x9ab): undefined reference to `jpeg8_destroy_decompress'
../dcmjpeg/dcmjpeg.a(djdijg8.o):djdijg8.cxx:(.text+0xbc2): undefined reference to `jpeg8_read_header'

../dcmjpeg/dcmjpeg.a(djdijg8.o):djdijg8.cxx:(.text+0xd8c): undefined reference to `jpeg8_start_decompress'
../dcmjpeg/dcmjpeg.a(djdijg8.o):djdijg8.cxx:(.text+0xef4): undefined reference to `jpeg8_read_scanlines'
../dcmjpeg/dcmjpeg.a(djdijg8.o):djdijg8.cxx:(.text+0xf76): undefined reference to `jpeg8_finish_decompress'
../dcmjpeg/dcmjpeg.a(djdijg12.o):djdijg12.cxx:(.text+0x704): undefined reference to `jpeg12_resync_to_restart'
../dcmjpeg/dcmjpeg.a(djdijg12.o):djdijg12.cxx:(.text+0x7a7): undefined reference to `jpeg12_std_error'
../dcmjpeg/dcmjpeg.a(djdijg12.o):djdijg12.cxx:(.text+0x925): undefined reference to `jpeg12_CreateDecompress'
../dcmjpeg/dcmjpeg.a(djdijg12.o):djdijg12.cxx:(.text+0x9ab): undefined reference to `jpeg12_destroy_decompress'
../dcmjpeg/dcmjpeg.a(djdijg12.o):djdijg12.cxx:(.text+0xbc2): undefined reference to `jpeg12_read_header'
../dcmjpeg/dcmjpeg.a(djdijg12.o):djdijg12.cxx:(.text+0xd8c): undefined reference to `jpeg12_start_decompress'
../dcmjpeg/dcmjpeg.a(djdijg12.o):djdijg12.cxx:(.text+0xef8): undefined reference to `jpeg12_read_scanlines'
../dcmjpeg/dcmjpeg.a(djdijg12.o):djdijg12.cxx:(.text+0xf7a): undefined reference to `jpeg12_finish_decompress'
../dcmjpeg/dcmjpeg.a(djdijg16.o):djdijg16.cxx:(.text+0x704): undefined reference to `jpeg16_resync_to_restart'
../dcmjpeg/dcmjpeg.a(djdijg16.o):djdijg16.cxx:(.text+0x7a7): undefined reference to `jpeg16_std_error'
../dcmjpeg/dcmjpeg.a(djdijg16.o):djdijg16.cxx:(.text+0x925): undefined reference to `jpeg16_CreateDecompress'
../dcmjpeg/dcmjpeg.a(djdijg16.o):djdijg16.cxx:(.text+0x9ab): undefined reference to `jpeg16_destroy_decompress'
../dcmjpeg/dcmjpeg.a(djdijg16.o):djdijg16.cxx:(.text+0xbc2): undefined reference to `jpeg16_read_header'
../dcmjpeg/dcmjpeg.a(djdijg16.o):djdijg16.cxx:(.text+0xd8c): undefined reference to `jpeg16_start_decompress'
../dcmjpeg/dcmjpeg.a(djdijg16.o):djdijg16.cxx:(.text+0xef8): undefined reference to `jpeg16_read_scanlines'
../dcmjpeg/dcmjpeg.a(djdijg16.o):djdijg16.cxx:(.text+0xf7a): undefined reference to `jpeg16_finish_decompress'
collect2: ld returned 1 exit status

dllwrap.exe: no export definition file provided.
Creating one, but that may not be what you want
dllwrap.exe: c++ exited with status 1

make.exe: *** [libdcmcjpeg.dll] Error 1

Execução terminada

enrique
Posts: 6
Joined: Fri, 2008-03-28, 15:36

#2 Post by enrique »

btw, I'm using Dev-cpp with MinGW32 compiler

Marco Eichelberg
OFFIS DICOM Team
OFFIS DICOM Team
Posts: 1445
Joined: Tue, 2004-11-02, 17:22
Location: Oldenburg, Germany
Contact:

#3 Post by Marco Eichelberg »

The error message is pretty obvious, isn't it. You are not linking all libraries needed to allow the linker to resolve all references. In particular, you are missing the libijg8, libijg12 and libijg16 libraries located in the subdirectories of the same name in dcmjpeg.

enrique
Posts: 6
Joined: Fri, 2008-03-28, 15:36

#4 Post by enrique »

Actually I had tried in both ways (with and without those libraries), but it made no difference. I should had posted the right log, sorry =(
Follow thw log with the ijg* libraries:

Compilador: Default compiler
Building Makefile: "C:\Prog\Dicom\dll\Makefile.win"
Executando make clean
rm -f dllmain.o libdcmcjpeg.dll

g++.exe -c dllmain.cpp -o dllmain.o -I"C:/Dev-Cpp/lib/gcc/mingw32/3.4.2/include" -I"C:/Dev-Cpp/include/c++/3.4.2/backward" -I"C:/Dev-Cpp/include/c++/3.4.2/mingw32" -I"C:/Dev-Cpp/include/c++/3.4.2" -I"C:/Dev-Cpp/include" -I"C:/Prog/Dicom/config/include" -I"C:/Prog/Dicom/dcmjpeg/include" -I"C:/Prog/Dicom/ofstd/include" -I"C:/Prog/Dicom/dcmdata/include" -I"C:/Prog/Dicom/dcmimgle/include" -I"C:/Prog/Dicom/dcmimage/include" -I"C:/Prog/Dicom/dcmjpeg/libijg8" -I"C:/Prog/Dicom/dcmjpeg/libijg12" -I"C:/Prog/Dicom/dcmjpeg/libijg16" -DBUILDING_DLL=1

dllwrap.exe --output-def liblibdcmcjpeg.def --driver-name c++ --implib liblibdcmcjpeg.a dllmain.o -L"C:/Dev-Cpp/lib" --no-export-all-symbols --add-stdcall-alias ../dcmjpeg/dcmjpeg.a ../dcmdata/dcmdata.a ../dcmimage/dcmimage.a ../dcmimgle/dcmimgle.a ../ofstd/libofstd.a ../dcmjpeg/libijg8/libijg8.a ../dcmjpeg/libijg12/libijg12.a ../dcmjpeg/libijg16/libijg16.a ../../../Dev-Cpp/lib/libnetapi32.a ../../../Dev-Cpp/lib/libwsock32.a -o libdcmcjpeg.dll

../dcmjpeg/dcmjpeg.a(djeijg8.o):djeijg8.cxx:(.text+0xf4b): undefined reference to `jpeg8_std_error'
../dcmjpeg/dcmjpeg.a(djeijg8.o):djeijg8.cxx:(.text+0xfb5): undefined reference to `jpeg8_destroy_compress'
../dcmjpeg/dcmjpeg.a(djeijg8.o):djeijg8.cxx:(.text+0x1092): undefined reference to `jpeg8_CreateCompress'
../dcmjpeg/dcmjpeg.a(djeijg8.o):djeijg8.cxx:(.text+0x1102): undefined reference to `jpeg8_set_defaults'
../dcmjpeg/dcmjpeg.a(djeijg8.o):djeijg8.cxx:(.text+0x112c): undefined reference to `jpeg8_set_colorspace'
../dcmjpeg/dcmjpeg.a(djeijg8.o):djeijg8.cxx:(.text+0x119b): undefined reference to `jpeg8_set_quality'
../dcmjpeg/dcmjpeg.a(djeijg8.o):djeijg8.cxx:(.text+0x11cb): undefined reference to `jpeg8_set_quality'
../dcmjpeg/dcmjpeg.a(djeijg8.o):djeijg8.cxx:(.text+0x11fb): undefined reference to `jpeg8_set_quality'
../dcmjpeg/dcmjpeg.a(djeijg8.o):djeijg8.cxx:(.text+0x1236): undefined reference to `jpeg8_set_quality'
../dcmjpeg/dcmjpeg.a(djeijg8.o):djeijg8.cxx:(.text+0x1244): undefined reference to `jpeg8_simple_progression'
../dcmjpeg/dcmjpeg.a(djeijg8.o):djeijg8.cxx:(.text+0x1272): undefined reference to `jpeg8_simple_lossless'
../dcmjpeg/dcmjpeg.a(djeijg8.o):djeijg8.cxx:(.text+0x13c8): undefined reference to `jpeg8_start_compress'
../dcmjpeg/dcmjpeg.a(djeijg8.o):djeijg8.cxx:(.text+0x1427): undefined reference to `jpeg8_write_scanlines'

../dcmjpeg/dcmjpeg.a(djeijg8.o):djeijg8.cxx:(.text+0x1441): undefined reference to `jpeg8_finish_compress'
../dcmjpeg/dcmjpeg.a(djeijg8.o):djeijg8.cxx:(.text+0x144f): undefined reference to `jpeg8_destroy_compress'
../dcmjpeg/dcmjpeg.a(djeijg12.o):djeijg12.cxx:(.text+0xf57): undefined reference to `jpeg12_std_error'
../dcmjpeg/dcmjpeg.a(djeijg12.o):djeijg12.cxx:(.text+0xfc1): undefined reference to `jpeg12_destroy_compress'

../dcmjpeg/dcmjpeg.a(djeijg12.o):djeijg12.cxx:(.text+0x109e): undefined reference to `jpeg12_CreateCompress'
../dcmjpeg/dcmjpeg.a(djeijg12.o):djeijg12.cxx:(.text+0x110e): undefined reference to `jpeg12_set_defaults'
../dcmjpeg/dcmjpeg.a(djeijg12.o):djeijg12.cxx:(.text+0x1138): undefined reference to `jpeg12_set_colorspace'
../dcmjpeg/dcmjpeg.a(djeijg12.o):djeijg12.cxx:(.text+0x119a): undefined reference to `jpeg12_set_quality'
../dcmjpeg/dcmjpeg.a(djeijg12.o):djeijg12.cxx:(.text+0x11ca): undefined reference to `jpeg12_set_quality'
../dcmjpeg/dcmjpeg.a(djeijg12.o):djeijg12.cxx:(.text+0x1205): undefined reference to `jpeg12_set_quality'
../dcmjpeg/dcmjpeg.a(djeijg12.o):djeijg12.cxx:(.text+0x1213): undefined reference to `jpeg12_simple_progression'
../dcmjpeg/dcmjpeg.a(djeijg12.o):djeijg12.cxx:(.text+0x1241): undefined reference to `jpeg12_simple_lossless'
../dcmjpeg/dcmjpeg.a(djeijg12.o):djeijg12.cxx:(.text+0x1397): undefined reference to `jpeg12_start_compress'
../dcmjpeg/dcmjpeg.a(djeijg12.o):djeijg12.cxx:(.text+0x13f8): undefined reference to `jpeg12_write_scanlines'
../dcmjpeg/dcmjpeg.a(djeijg12.o):djeijg12.cxx:(.text+0x1412): undefined reference to `jpeg12_finish_compress'
../dcmjpeg/dcmjpeg.a(djeijg12.o):djeijg12.cxx:(.text+0x1420): undefined reference to `jpeg12_destroy_compress'
../dcmjpeg/dcmjpeg.a(djeijg16.o):djeijg16.cxx:(.text+0x7db): undefined reference to `jpeg16_std_error'
../dcmjpeg/dcmjpeg.a(djeijg16.o):djeijg16.cxx:(.text+0x845): undefined reference to `jpeg16_destroy_compress'
../dcmjpeg/dcmjpeg.a(djeijg16.o):djeijg16.cxx:(.text+0x913): undefined reference to `jpeg16_CreateCompress'
../dcmjpeg/dcmjpeg.a(djeijg16.o):djeijg16.cxx:(.text+0x983): undefined reference to `jpeg16_set_defaults'
../dcmjpeg/dcmjpeg.a(djeijg16.o):djeijg16.cxx:(.text+0x9ad): undefined reference to `jpeg16_set_colorspace'
../dcmjpeg/dcmjpeg.a(djeijg16.o):djeijg16.cxx:(.text+0x9f0): undefined reference to `jpeg16_simple_lossless'

../dcmjpeg/dcmjpeg.a(djeijg16.o):djeijg16.cxx:(.text+0xc17): undefined reference to `jpeg16_start_compress'
../dcmjpeg/dcmjpeg.a(djeijg16.o):djeijg16.cxx:(.text+0xc78): undefined reference to `jpeg16_write_scanlines'
../dcmjpeg/dcmjpeg.a(djeijg16.o):djeijg16.cxx:(.text+0xc92): undefined reference to `jpeg16_finish_compress'
../dcmjpeg/dcmjpeg.a(djeijg16.o):djeijg16.cxx:(.text+0xca0): undefined reference to `jpeg16_destroy_compress'
../dcmjpeg/dcmjpeg.a(djdijg8.o):djdijg8.cxx:(.text+0x704): undefined reference to `jpeg8_resync_to_restart'
../dcmjpeg/dcmjpeg.a(djdijg8.o):djdijg8.cxx:(.text+0x7a7): undefined reference to `jpeg8_std_error'
../dcmjpeg/dcmjpeg.a(djdijg8.o):djdijg8.cxx:(.text+0x925): undefined reference to `jpeg8_CreateDecompress'
../dcmjpeg/dcmjpeg.a(djdijg8.o):djdijg8.cxx:(.text+0x9ab): undefined reference to `jpeg8_destroy_decompress'
../dcmjpeg/dcmjpeg.a(djdijg8.o):djdijg8.cxx:(.text+0xbc2): undefined reference to `jpeg8_read_header'
../dcmjpeg/dcmjpeg.a(djdijg8.o):djdijg8.cxx:(.text+0xd8c): undefined reference to `jpeg8_start_decompress'
../dcmjpeg/dcmjpeg.a(djdijg8.o):djdijg8.cxx:(.text+0xef4): undefined reference to `jpeg8_read_scanlines'
../dcmjpeg/dcmjpeg.a(djdijg8.o):djdijg8.cxx:(.text+0xf76): undefined reference to `jpeg8_finish_decompress'
../dcmjpeg/dcmjpeg.a(djdijg12.o):djdijg12.cxx:(.text+0x704): undefined reference to `jpeg12_resync_to_restart'
../dcmjpeg/dcmjpeg.a(djdijg12.o):djdijg12.cxx:(.text+0x7a7): undefined reference to `jpeg12_std_error'
../dcmjpeg/dcmjpeg.a(djdijg12.o):djdijg12.cxx:(.text+0x925): undefined reference to `jpeg12_CreateDecompress'
../dcmjpeg/dcmjpeg.a(djdijg12.o):djdijg12.cxx:(.text+0x9ab): undefined reference to `jpeg12_destroy_decompress'
../dcmjpeg/dcmjpeg.a(djdijg12.o):djdijg12.cxx:(.text+0xbc2): undefined reference to `jpeg12_read_header'

../dcmjpeg/dcmjpeg.a(djdijg12.o):djdijg12.cxx:(.text+0xd8c): undefined reference to `jpeg12_start_decompress'
../dcmjpeg/dcmjpeg.a(djdijg12.o):djdijg12.cxx:(.text+0xef8): undefined reference to `jpeg12_read_scanlines'
../dcmjpeg/dcmjpeg.a(djdijg12.o):djdijg12.cxx:(.text+0xf7a): undefined reference to `jpeg12_finish_decompress'
../dcmjpeg/dcmjpeg.a(djdijg16.o):djdijg16.cxx:(.text+0x704): undefined reference to `jpeg16_resync_to_restart'
../dcmjpeg/dcmjpeg.a(djdijg16.o):djdijg16.cxx:(.text+0x7a7): undefined reference to `jpeg16_std_error'
../dcmjpeg/dcmjpeg.a(djdijg16.o):djdijg16.cxx:(.text+0x925): undefined reference to `jpeg16_CreateDecompress'
../dcmjpeg/dcmjpeg.a(djdijg16.o):djdijg16.cxx:(.text+0x9ab): undefined reference to `jpeg16_destroy_decompress'
../dcmjpeg/dcmjpeg.a(djdijg16.o):djdijg16.cxx:(.text+0xbc2): undefined reference to `jpeg16_read_header'
../dcmjpeg/dcmjpeg.a(djdijg16.o):djdijg16.cxx:(.text+0xd8c): undefined reference to `jpeg16_start_decompress'
../dcmjpeg/dcmjpeg.a(djdijg16.o):djdijg16.cxx:(.text+0xef8): undefined reference to `jpeg16_read_scanlines'
../dcmjpeg/dcmjpeg.a(djdijg16.o):djdijg16.cxx:(.text+0xf7a): undefined reference to `jpeg16_finish_decompress'
collect2: ld returned 1 exit status

dllwrap.exe: no export definition file provided.
Creating one, but that may not be what you want
dllwrap.exe: c++ exited with status 1

make.exe: *** [libdcmcjpeg.dll] Error 1

Execução terminada

Marco Eichelberg
OFFIS DICOM Team
OFFIS DICOM Team
Posts: 1445
Joined: Tue, 2004-11-02, 17:22
Location: Oldenburg, Germany
Contact:

#5 Post by Marco Eichelberg »

You are not linking all required libraries. Specifically libijg8, libijg12 and libijg16 are missing.

enrique
Posts: 6
Joined: Fri, 2008-03-28, 15:36

#6 Post by enrique »

take a look at the log, the libraries was there...

dllwrap.exe --output-def liblibdcmcjpeg.def --driver-name c++ --implib liblibdcmcjpeg.a dllmain.o -L"C:/Dev-Cpp/lib" --no-export-all-symbols --add-stdcall-alias ../dcmjpeg/dcmjpeg.a ../dcmdata/dcmdata.a ../dcmimage/dcmimage.a ../dcmimgle/dcmimgle.a ../ofstd/libofstd.a ../dcmjpeg/libijg8/libijg8.a ../dcmjpeg/libijg12/libijg12.a ../dcmjpeg/libijg16/libijg16.a ../../../Dev-Cpp/lib/libnetapi32.a ../../../Dev-Cpp/lib/libwsock32.a -o libdcmcjpeg.dll

Per
Posts: 99
Joined: Mon, 2007-09-03, 10:53
Location: Trondheim, Norway
Contact:

#7 Post by Per »

I think you need to list them earlier in the link order.

enrique
Posts: 6
Joined: Fri, 2008-03-28, 15:36

#8 Post by enrique »

in fact I have traied with several links order...

could some configuration flag, cause this misbehavior?

Marco Eichelberg
OFFIS DICOM Team
OFFIS DICOM Team
Posts: 1445
Joined: Tue, 2004-11-02, 17:22
Location: Oldenburg, Germany
Contact:

#9 Post by Marco Eichelberg »

The only thing I could think of that would cause this behaviour (unless the library files you are linking against are damaged, e.g., empty) would be a manual removal of the macro NEED_SHORT_EXTERNAL_NAMES, which is unconditionally defined in jconfig[8|12|16].h - this macro causes all functions in the IJG library to be renamed to something that is unique for the 8, 12 or 16 bit version of the library, respectively.

Per
Posts: 99
Joined: Mon, 2007-09-03, 10:53
Location: Trondheim, Norway
Contact:

#10 Post by Per »

You could try to list them several times at different places in the link order. Not sure if the Windows linker works this way, but this sometimes solves such issues for me on Linux.

enrique
Posts: 6
Joined: Fri, 2008-03-28, 15:36

#11 Post by enrique »

Marco, I already did that...I tried with and without that macro and it made no difference.
Also, I tested the libijg8 library with another calling program, and it does worked. Thanks for the help.
Per, thanks for the tip but it didn't work.

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest