2010-07-16 48 views
3

我目前正在从32位迁移到64位,并在尝试构建64位托管C++ dll时遇到链接错误,该dll链接到非托管C++的.lib文件,我还内置:当构建64位DLL时,“文件包含无效的.pdata贡献”

LNK1223:无效或损坏的文件:文件包含无效.pdata贡献

到目前为止,我发现这个错误应该只发生在建设对于RISC机器,但在我的情况中并非如此。有谁知道这个错误和可能导致它的问题吗?

增加: 非托管C++库被编译使用英特尔编译器,而托管的DLL正在使用微软编译器构建。

加法#2: 当使用Microsoft编译器编译lib时,dll编译得很好。这并不能解释为什么编译器甚至会查看库的.pdata

回答

0

当我将非托管项目从vs2010迁移到vs2012时,我也遇到了LNK1223错误。

我通过删除编译器标志/ GL来修复它。

希望这个方法套件适合你的情况。