2

MS Visual Studio 2005 のソリューションでサブプロジェクトを開発しています。サブプロジェクトは Windows CE 6.0 サービス (DLL として) であり、Windows CE 6.0 OS プロジェクトに含まれています。サブプロジェクトでは、「ceosutil.lib」(svsutil.hxx がヘッダー) の関数を使用する必要がありますが、サブプロジェクトにリンクできません。ビルド時に、「エラー LNK2019: 未解決の外部シンボル」という種類のエラーが発生します。

興味深いことに、プロジェクトの種類を静的ライブラリに切り替えると、問題なくコンパイルされます。新しい DLL プロジェクト (サブプロジェクトとしてではなく、スタンドアロンのプロジェクト) を開始すると、それも機能します (「ceosutil.lib」は、プロジェクトおよびすべての構成の追加の依存関係に既にリストされています)。

助けてください!

4

1 に答える 1

2

私は自分自身の質問に対する答えを見つけました。解決策は、サブプロジェクトのプロパティの [リンク] タブにある [追加のライブラリ] フィールドにライブラリの名前 (スペースの後に「ceosutil.lib」) を追加することです。

MS Visual Studio 2005 の場合: サブプロジェクト名を右クリック -> [プロパティ] -> [リンク] タブ -> [追加のライブラリ]。

デフォルト値は次のとおりです。$(_PROJECTROOT)\cesysgen\sdk\lib\$(_CPUINDPATH)\coredll.lib

新しい値:$(_PROJECTROOT)\cesysgen\sdk\lib\$(_CPUINDPATH)\coredll.lib ceosutil.lib

更新: サブプロジェクトを開き (マウスの右ボタン -> 開く)、ライブラリへのパスを TARGETLIBS セクションに貼り付ける方が簡単です。結果はまったく同じになります。

TARGETLIBS= \ $(_PROJECTROOT)\cesysgen\sdk\lib\$(_CPUINDPATH)\coredll.lib \

于 2012-04-12T12:45:25.213 に答える