|
From: | James Vanderhyde |
Subject: | RE: [Openexr-devel] Building Visual C++ 2005 for x64 platform |
Date: | Wed, 21 Nov 2007 10:22:48 -0500 |
All the project settings seem to be in
order. Half.dll links fine, but not Iex.dll. It seems like createDLL.cpp is not
mangling the symbols in Iex correctly for 64-bit. James From: Nick
Porcino [mailto:address@hidden I haven’t tried
this myself, but is it possible that you have a std library mismatch, for
example, something set to Multithreaded DLL, and another set to Multithreaded? From:
address@hidden
[mailto:address@hidden On Behalf Of I am trying to build a 64-bit dll of
OpenEXR for 64-bit Windows. I’m using Visual Studio 2005 (VC8). I started
by downloading the math library (IlmBase) and trying to build the IlmBase
solution. I created a configuration for the x64 platform. I had to make a few
changes to get the “createDLL” project to compile. I changed the Output
Directory and Intermediate Directory to match what the Win32 configuration had.
Since the project uses a lot of hard-coded relative paths, these needed to be
fixed from Visual Studio’s defaults. This createDLL program runs the
linker for the rest of the projects, and it has one line of code that controls
the command-line options for the linker. I changed this line to be
“X64” instead of “X86.” At this point the “Half”
project compiles and links successfully, but when I try to build the
“Iex” project I get several linker errors, such as the following: Iex.exp : error LNK2001:
unresolved external symbol address@hidden@@ All the .lib, .def, and .obj files
seem to be OK, so I can’t figure out what the problem is. Does anyone have any tips for me?
Thanks. James |
[Prev in Thread] | Current Thread | [Next in Thread] |