0

CreateProcess を使用して cl 、別の C++ プログラム ( TestProg.cxx) を DLL にコンパイルおよびリンクします。cl次のコンパイル オプションを使用して呼び出します。

/Od /nologo /Fo /RTC /w /Zc /EHsc /I\INCLUDE /I\LIB /I\PATH TestProg.cxx /DLL

呼び出し:

if ( CreateProcess(full path to cl.exe, compilation options, NULL,NULL,FALSE,0,       NULL,NULL,&si,&pi) ) 
{
 //....
}

VS ツール プロンプトからアプリケーションを実行すると、次のリンク エラーが発生しました。

LINK : fatal error LNK1561: entry point must be defined

私は何を間違っていますか?過去 1/2 日の回答を Web で検索しましたが、見つかりませんでした。Windows API を使用するのは初めてです。

ありがとう

4

2 に答える 2

2

これは、コンパイラを実行するために使用する際のエラーではありません。関数がないCreateProcess()ことを示すコンパイラからのエラーです。(または、DLL を作成しているように見えるため。)TestProg.cxxmain()DllMain()

于 2012-03-15T12:33:09.040 に答える
0

リンカー エラーが発生したため、リンカーはバイナリをビルドできませんでした。エントリ ポイントは、コマンド ライン パラメーターを介して/ENTRY指定できます。詳細については、MSDN を参照してください。

/ENTRY (エントリーポイントシンボル)

次のようなものがあります: cl.exe /ENTRY:DllMain ...DllMain は、ソース コードのエントリ ポイント関数になります。

于 2012-03-15T12:32:34.530 に答える