Compiling for x64. Link Problem
Posted: Tue Dec 20, 2011 16:23
Hello!
I'm trying to build CEGUI for 64-bits plateforms, and I've read from previous posts that it's not easy.
I managed previously to build a 32-bits version of CEGUI.
So I duplicated the solution (Visual Studio 2008), into a new one that I use for 64-bit.
The compilation process of CEGUI worked perfectly in 64-bit from Visual Studio 2008, by just copying the 'x64' option from the 'Win32' in the configuration manager.
The problem is when the compiler needs to link against the dependencies.
I've tried to recreate the dependencies folder that I've downloaded and used for 32-bit compilation.
I compiled in 64-bit these libraries from their sourcecode I've downloaded from the web: lua, freetype, zlib and pcre
PCRE give me a linking problem that I am trying to solve for 2 days:
But pcred.lib is present in my dependencies folder .if I remove it, Visual tell me :
And the dumpbin utility of Visual Studio show me that the pcred.lib contains a ''pcre_free'' symbol.
Does somebody experienced the same problem?
A few more doubts about the subject:
1) In the configuration list, there is
Debug_Static and Release_Static generate a ".dll" and a ".lib" that contain the code of the extra libraries (lua, pcre, freetype ...)
Is it right?
2) The ''dependencies'' folder contains:
/bin contains '.dll' of librairies that contain the code of other libraries
/lib/dynamic contains '.lib' of librairies that uses links to other libraries
/lib/static contains '.lib' of librairies that contain the code of other libraries
is it right?
3) Another thing I wonder
CEGUI is LGPL, and I've read somewhere on the wiki that we can only use it with dynamic linking.
So normally the ".lib" versions should be useless, right?
Thanx in advance for your help
I'm trying to build CEGUI for 64-bits plateforms, and I've read from previous posts that it's not easy.
I managed previously to build a 32-bits version of CEGUI.
So I duplicated the solution (Visual Studio 2008), into a new one that I use for 64-bit.
The compilation process of CEGUI worked perfectly in 64-bit from Visual Studio 2008, by just copying the 'x64' option from the 'Win32' in the configuration manager.
The problem is when the compiler needs to link against the dependencies.
I've tried to recreate the dependencies folder that I've downloaded and used for 32-bit compilation.
I compiled in 64-bit these libraries from their sourcecode I've downloaded from the web: lua, freetype, zlib and pcre
PCRE give me a linking problem that I am trying to solve for 2 days:
Code: Select all
error LNK2001: unresolved external symbol pcre_free
But pcred.lib is present in my dependencies folder .if I remove it, Visual tell me :
Code: Select all
LINK : fatal error LNK1104: cannot open file 'pcred.lib'
And the dumpbin utility of Visual Studio show me that the pcred.lib contains a ''pcre_free'' symbol.
Does somebody experienced the same problem?
A few more doubts about the subject:
1) In the configuration list, there is
- Debug
- Debug_Static
- Release
- Release_Static
Debug_Static and Release_Static generate a ".dll" and a ".lib" that contain the code of the extra libraries (lua, pcre, freetype ...)
Is it right?
2) The ''dependencies'' folder contains:
- /bin
- /lib/dynamic
- /lib/static
/bin contains '.dll' of librairies that contain the code of other libraries
/lib/dynamic contains '.lib' of librairies that uses links to other libraries
/lib/static contains '.lib' of librairies that contain the code of other libraries
is it right?
3) Another thing I wonder
CEGUI is LGPL, and I've read somewhere on the wiki that we can only use it with dynamic linking.
So normally the ".lib" versions should be useless, right?
Thanx in advance for your help