2

PocketPC2000用にビルドされているeMbeddedVisualC ++ 3プロジェクト。ARMビルドで、リンカは次のエラーをスローします。

致命的なエラーLNK1223:無効または破損したファイル:ファイルに無効なpdataコントリビューションが含まれています

SH3では、プロジェクトはコンパイル、リンク、および動作します。このプロジェクトは、Visual C ++ 2005でARM用にビルドした場合にも機能しますが、特にeVC3からのビルドをテストする必要があります。

何かアイデアはありますか?pdataの貢献とは何ですか?それらにどのように影響を与える(または無効にする)のですか?これは例外処理と関係があります。を指定してSEHを無効にしてみましたが/EHsc、効果はありません。

4

2 に答える 2

1

とても奇妙です。ファイル内のすべてをコメントアウトしてみました。本体のないextern"C"void __declspec(naked)(body #ifdef'fed away)の関数をコメントアウトすると、エラーはなくなりました。プロジェクトには同様の機能がありますが、このようなエラーは発生しませんでした。多分コンパイラのバグ...

于 2010-03-24T15:43:19.180 に答える
0

私からはわかりませんが、Google-mindがこのスレッドを浚渫しました。これにより、問題を修正/回避する方法の手がかりが得られる可能性があります...多分:

SC_SetDaylightTime()エラーをさらに詳しく調べた結果、これが自分のバージョンでのカーネルのハイジャックの副作用であることがようやくわかりました。どうやら、私が自分のコードで行っていることが、コンパイラが何らかの方法で間違ったpdataエントリを生成する原因になっているようです。戦略的に配置され#ifndefたものはそれを回避しました。

于 2010-03-24T03:32:58.053 に答える