[sigc] Compiling sigc++ in Visual C++ 2005 in 64 bit environment



Hi,

I had to make the following changes to compile sigc++ in Visual C++ 2005 in 64 bit environment

In signal.h, around line 178, replaced the single-arg templates:
  typedef std::reverse_iterator<iterator>       reverse_iterator;
  typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
with double-arg ones:
  typedef std::reverse_iterator<iterator, slot_type>       reverse_iterator;
  typedef std::reverse_iterator<const_iterator, slot_type> const_reverse_iterator;

I was also getting some RTC linking errors:

error LNK2001: unresolved external symbol _RTC_Shutdown
error LNK2001: unresolved external symbol _RTC_InitBase

on all the object files for sigc-2.0 so had to change

C/C++ Code Generation, basic runtime checks, "Both (/RTC1, equit. to /RTCsu)" to "Default"

For each project I got:

fatal error LNK1112: module machine type 'AMD64' conflicts with target machine type 'X86'

To fix had to go to project / properties
Configuration properties -> Linker -> Advanced
Change "Target Machine" from MachineX86 to "inherit from parent or project defaults"
and it will go to "not set" which is correct

Could it be worth making these changes and including a solution for 64 bit windows?

Cheers.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]