eMbedded Visual C ++ 3项目,即为PocketPC 2000构建的。在ARM构建中,链接器抛出以下错误:
致命错误LNK1223:文件无效或损坏:文件包含无效的pdata贡献
在SH3上,项目编译,链接和工作。该项目在Visual C ++ 2005上为ARM构建时也有效,但我需要专门从eVC3测试构建。
请问任何想法?什么是pdata贡献?我如何影响(或禁用)那些?这与异常处理有关;我已经尝试通过指定/EHsc
来禁用SEH,但没效果。
答案 0 :(得分:1)
非常奇怪。我试着评论文件中的所有内容。当我注释掉一个没有正文的外部“C”void __declspec(裸)的函数时,错误就消失了(body#ifdef'fed away)。我在项目中有类似的功能,但他们没有抛出任何这样的错误。也许是编译器错误...
答案 1 :(得分:0)
我不知道,但谷歌的想法疏通了这个线程,这可能会让你知道如何解决/解决问题...也许:
在仔细查看错误之后,我终于弄明白了 我劫持
SC_SetDaylightTime()
内核的副作用 自己的版本。显然,我在我的代码中所做的事情就是 导致编译器以某种方式生成错误的pdata条目。 一个战略性的#ifndef
解决了它。