ARM版本上的错误LNK1223

时间:2010-03-24 03:15:57

标签: c++ windows-mobile linker-errors evc

eMbedded Visual C ++ 3项目,即为PocketPC 2000构建的。在ARM构建中,链接器抛出以下错误:

  

致命错误LNK1223:文件无效或损坏:文件包含无效的pdata贡献

在SH3上,项目编译,链接和工作。该项目在Visual C ++ 2005上为ARM构建时也有效,但我需要专门从eVC3测试构建。

请问任何想法?什么是pdata贡献?我如何影响(或禁用)那些?这与异常处理有关;我已经尝试通过指定/EHsc来禁用SEH,但没效果。

2 个答案:

答案 0 :(得分:1)

非常奇怪。我试着评论文件中的所有内容。当我注释掉一个没有正文的外部“C”void __declspec(裸)的函数时,错误就消失了(body#ifdef'fed away)。我在项目中有类似的功能,但他们没有抛出任何这样的错误。也许是编译器错误...

答案 1 :(得分:0)

我不知道,但谷歌的想法疏通了这个线程,这可能会让你知道如何解决/解决问题...也许:

  

在仔细查看错误之后,我终于弄明白了   我劫持SC_SetDaylightTime()内核的副作用   自己的版本。显然,我在我的代码中所做的事情就是   导致编译器以某种方式生成错误的pdata条目。   一个战略性的#ifndef解决了它。