[gecode-users] Problem linking Gecode 2.0.1 libreries

Guido Tack tack at ps.uni-sb.de
Thu Feb 28 16:29:18 CET 2008


You seem to compile a 2.0.1 queens against a 1.3.1 gecode.  That will  
certainly fail.  Also, could you please quote the compiler version  
you're using, for gcc it makes a difference whether 3.x or 4.x is  
used, as the latter supports symbol visibility annotations.

Cheers,
	Guido

Am 28.02.2008 um 16:16 schrieb Raffaele Cipriano:

> 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
>
> _______________________________________________
> Gecode users mailing list
> users at gecode.org
> https://www.gecode.org/mailman/listinfo/gecode-users

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2436 bytes
Desc: not available
URL: <http://www.ps.uni-sb.de/pipermail/users/attachments/20080228/f6db2586/attachment.bin>


More information about the gecode-users mailing list