c – VC9和VC8 lib的兼容性
作者:互联网
(最初的问题在那里被问到:http://www.ogre3d.org/phpBB2/viewtopic.php?t=44832)
有人问:
“虽然我想在vs2008(VC9)中构建所有内容,但PhysX SDK是使用vs2005(VC8)构建的.这是否会导致任何问题,使用所有vc9编译的lib并与此vc8 lib结合使用?”
我回答说,在我尝试使用VC8生成的.lib文件(和.dll)并将其包含在vc9编译的exe中的前一天,编译器无法打开.lib文件.
现在,其他人回答他们这样做没有问题….
我找不到vc9和vc8之间的lib兼容性信息.
所以…帮忙?
解决方法:
lib格式为COFF(http://msdn.microsoft.com/en-us/library/7ykb2k5f(VS.71).aspx),COFF也以PE格式使用.
因此,我希望大多数(如果不是所有)使用vc8构建的库都可以与vc9链接.
但是我在msdn上发现了一个线程,其中MS似乎不保证用VC8编译的lib将与VC9很好地链接. http://social.msdn.microsoft.com/Forums/en-US/vcgeneral/thread/8042a534-aa8b-4f99-81ee-e5ff39ae6e69/)
考虑到这2位信息,我得出结论:尽管MS不保证完全100%的兼容性,但我希望在大多数情况下将vc8 lib和vc9连接起来工作.
希望这可以帮助.
附:你写“编译器无法打开.lib文件.”.链接器是尝试打开要链接的库而不是编译器的链接器.
标签:visual-c-2008,c,dll,vc8 来源: https://codeday.me/bug/20190827/1744368.html