WinMainは、デフォルトのメインエントリポイント 'main'を '置き換える'関数です。C++:カスタムMain関数の実装
ユーザーが
int WINAPI WinMain(...) { }
のようなそのメインエントリポイントを定義することができるカプセル化のこの種はどのように行われていますか?
まあ、ほとんどの場合、いくつかの点で、それは次のようになります。
int main() // This must be defined somewhere in windows.h
{
return WinMain(...);
}
が質問:はどのように私は、WinMain関数を呼び出し、自分のようにカプセル化を達成することができますか?注意:私が作ったライブラリはDLLである、それは次のようになりますので:しかし、IS、DLLがMain()
機能を「知っている」ので、「未解決をスローしないこと
// This is the minimal code for the application which uses 'MyLibrary'
#pragma comment(lib, "MyLibrary.lib")
include "MyLibrary.h"
void Main(MyCustomParameter *params)
{
// Write user code here
}
問題外部シンボル 'コンパイルエラー。では、どうすればこのようにカプセル化できますか?
"extern" C "'でもまだ解決されていない外部があります。それはあなたのようにメインの代わりに内部エントリポイントとしてWinMainを使うからですか? – bytecode77
@DevilsChild:あなたがしていることを言うのは難しいです。あなたのエントリーポイントが 'WinMain'なら - あなたのメインを' WinMain'から呼び出します。 'main()'だけであれば 'main()'から呼び出してください。まずw/o変更をコンパイルするコードを取得し、変更を加えて何が壊れているかを確認します。または、少なくともあなたの問題を示す完全な例を入れてください...そうでなければ、あなたがやっていることをデバッグするのは難しいです。 –
明らかに、それはインクルード構造の問題です。私はいくつかの非常に最小限のコードをここにまとめています:http://dev-ch.com/files/a8dce463-65a2-54fe-ef43-c9d4160dea95/mylibrarywithcustommain.zip 「ExampleClass.h」は含まれていません。 – bytecode77