0

パッケージに EDK II アプリケーションとライブラリがあり、ライブラリ ソース コードでコンパイルすると問題なく動作します。ここで、ライブラリのソース コードを削除し、そのライブラリを .lib ファイルを介してアプリケーションにリンクしたいと考えています。

アプリケーション プロジェクトからライブラリ ソース コードの参照を削除すると、このアプリケーションのビルド中に次のメッセージが表示されます。

DemoApp.lib(DemoApp.obj) : error LNK2001: unresolved external symbol TestFunction
fatal error LNK1120: 1 unresolved externals.

これを解決するには、DSC ドキュメントで、以下に示すようにライブラリ インスタンスを make ファイルに追加する必要があると述べています。

LIBS = $(LIBS) $(LIB_DIR)/$(LibInstanceName)

問題は、このエントリをメイク ファイル/EDK II ビルド システムに追加する方法です。

ツール チェーンとして VS2008 を使用しています。

4

1 に答える 1

0

最後に[BuildOptions]、アプリケーション INF にエントリを追加して作成しました。

そのセクションでは、Microsoft リンカーにパラメーターを追加して、ライブラリ パスから .lib ファイルを取得します。

MSFT:DEBUG_VS2008x86_X64_SLINK_FLAGS = /LIBPATH:"C:\TestApp\DEBUG_VS2008x86\X64\TestAppPkg\Library\TestLib\TestLib\OUTPUT" "TestLib.lib"
于 2015-06-12T04:45:15.327 に答える