> I'm sad to have to tell you that the 64-bit builds of *all* projects 
> except cryptlib (=cryptest, cryptopp) are broken and result in a bunch of 
> "error LNK2001: unresolved external symbol ...". I suspect that dlltest 
> works because it doesn't link any of the affected functions.
>

OK, so I had a chance to spend some time with this....

Microsoft documented some of the changes to the underlying MSBuild engine 
at 
http://blogs.msdn.com/b/vcblog/archive/2010/03/02/visual-studio-2010-c-project-upgrade-guide.aspx.
 
They created a lot of problems.

*** TargetName and TargetExt ***

VS 2010 and above depend upon TargetName and TargetExt. Microsoft stated 
they would not set it based on OutputDirectory and OutputFile. What they 
don't say is VS2005/VS2008 *lack* the setting, so there's no way for use to 
fix it before the upgrade (and they refuse to set it after the upgrade).

*** Intermediate Directory Path ***

Over half the Intermediate Directories were simply wrong after the upgrade.

*** Name Mangling ***

It appears the algorithm to produce mangled names changed. We have at least 
one:

    error LNK2019: unresolved external symbol "unsigned __int64 * 
CryptoPP::rdtable::Te"
    (?Te@rdtable@CryptoPP@@3PA_KA) referenced in function
    Rijndael_Enc_AdvancedProcessBlocks
    x64\DLL_Output\Release\cryptopp.dll : fatal error LNK1120: 1 unresolved 
externals

I'll have to investigate this further.

*** Incorrect Architectures ***

I'm seeing a fair amount of this:

    cryptopp.lib(cryptopp.dll) : fatal error LNK1112: module machine type 
'X86' conflicts
    with target machine type 'x64'

Even with the Intermediate directories fixed, its still managing to produce 
the wrong intermediate code, or place them in the wrong directories.

**********

its going to take time to find solutions to all the problems Microsoft 
created.

Jeff

-- 
-- 
You received this message because you are subscribed to the "Crypto++ Users" 
Google Group.
To unsubscribe, send an email to [email protected].
More information about Crypto++ and this group is available at 
http://www.cryptopp.com.
--- 
You received this message because you are subscribed to the Google Groups 
"Crypto++ Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to