[gecode-users] Problem linking Gecode 2.0.1 libreries

Raffaele Cipriano cipriano at dimi.uniud.it
Thu Feb 28 16:16:58 CET 2008


Dear GECODE developers and users,
I have sucessfully installed GECODE 2.0.1 on my PC (cygwin on Windows XP 
32bit), and I'm trying to compile an example, the queens.cc file...
I have some problems linking the libraries (compiling the file is ok).
I've also installed GECODE 2.0.1 on a cluster x86_64  with Linux CentOS 
v.4.3 and  2.6.9-34.ELsmp CentOS Kernel, and I get the same problem.

 I get this message

make -k all
Building target: Queens.exe
Invoking: GCC C++ Linker
g++ -L"C:\Programmi\gecode-2.0.1" -o"Queens.exe"  ./queens.o   
-lgecodeminimodel -lgecodeint -lgecodekernel -lgecodesupport -lgecodesearch
./queens.o: In function `main':
/cygdrive/c/Programmi/gecode-1.3.1/QueensGecode2/Debug/../queens.cc:125: 
undefined reference to `SizeOptions::SizeOptions(char const*)'
/cygdrive/c/Programmi/gecode-1.3.1/QueensGecode2/Debug/../queens.cc:135: 
undefined reference to `SizeOptions::parse(int&, char**)'
./queens.o: In function 
`_ZN6Gecode7Support6PQueueIPNS_4Iter6Ranges4Virt8IteratorENS4_9NaryUnion15RangeUnionOrderEED1Ev':
/cygdrive/c/Programmi/gecode-1.3.1/QueensGecode2/Debug/../queens.cc:(.text$_ZN11SizeOptionsD1Ev[SizeOptions::~SizeOptions()]+0xb): 
undefined reference to `vtable for SizeOptions'
/cygdrive/c/Programmi/gecode-1.3.1/QueensGecode2/Debug/../queens.cc:(.text$_ZN7OptionsD2Ev[Options::~Options()]+0x3d): 
undefined reference to `vtable for Options'
./queens.o: In function `main':
/cygdrive/c/Programmi/gecode-1.3.1/QueensGecode2/Debug/../queens.cc:124: 
undefined reference to `StringOption::~StringOption()'
/cygdrive/c/Programmi/gecode-1.3.1/QueensGecode2/Debug/../queens.cc:124: 
undefined reference to `StringOption::~StringOption()'
/cygdrive/c/Programmi/gecode-1.3.1/QueensGecode2/Debug/../queens.cc:137: 
undefined reference to `StringOption::~StringOption()'
/cygdrive/c/Programmi/gecode-1.3.1/QueensGecode2/Debug/../queens.cc:137: 
undefined reference to `StringOption::~StringOption()'
/cygdrive/c/Programmi/gecode-1.3.1/QueensGecode2/Debug/../queens.cc:137: 
undefined reference to `StringOption::~StringOption()'
./queens.o:/cygdrive/c/Programmi/gecode-1.3.1/QueensGecode2/Debug/../queens.cc:138: 
more undefined references to `StringOption::~StringOption()' follow
./queens.o: In function 
`_ZN6Gecode7Support6PQueueIPNS_4Iter6Ranges4Virt8IteratorENS4_9NaryUnion15RangeUnionOrderEED1Ev':
/cygdrive/c/Programmi/gecode-1.3.1/QueensGecode2/Debug/../queens.cc:(.text$_ZN17UnsignedIntOptionD1Ev[UnsignedIntOption::~UnsignedIntOption()]+0xb): 
undefined reference to `vtable for UnsignedIntOption'
/cygdrive/c/Programmi/gecode-1.3.1/QueensGecode2/Debug/../queens.cc:(.text$_ZN7Options11propagationEiPKcS1_[Options::propagation(int, 
char const*, char const*)]+0x25): undefined reference to 
`StringOption::add(int, char const*, char const*)'
./queens.o: In function `_GLOBAL__D_main':
/cygdrive/c/Programmi/gecode-1.3.1/QueensGecode2/Debug/../queens.cc:80: 
undefined reference to `am(double*, int)'
/cygdrive/c/Programmi/gecode-1.3.1/QueensGecode2/Debug/../queens.cc:80: 
undefined reference to `dev(double*, int)'
collect2: ld returned 1 exit status
make: *** [Queens.exe] Error 1
make: Target `all' not remade because of errors.
Build complete for project QueensGecode2

I'm sure that the libraries are correctly referred (if I don't use one 
or more  -l<library> option I get a lot of undefined references)..
It seems there's some trouble with the class Options or SizeOptions and 
with the distinct contraint (line 80 is  distinct(this, q, opt.icl());  )


Could you help me?

Thank you

Raffaele Cipriano




More information about the gecode-users mailing list