WTL のリリース版で困った話

WTL のリリース版をコンパイルしようとしてトラブルがありました

C:\Program Files (x86)\Microsoft Visual Studio 8\VC\include\xlocale(326) : warning C4530: C++ 例外処理を使っていますが、アンワインド セマンティクスは有効にはなりません。/EHsc を指定してください。
1>

ehsc
仕方ないので、/EHsc有効にしました

1>LIBCMT.lib(tidtable.obj) : warning LNK4006: __encode_pointer は atlmincrt.lib(atlinit.obj) で定義されています。2 つ目以降の定義は無視されます。

1>LIBCMT.lib(tidtable.obj) : warning LNK4006: __encoded_null は atlmincrt.lib(atlinit.obj) で定義されています。2 つ目以降の定義は無視されます。

1>LIBCMT.lib(tidtable.obj) : warning LNK4006: __decode_pointer は atlmincrt.lib(atlinit.obj) で定義されています。2 つ目以降の定義は無視されます。

            :

1>LIBCMT.lib(crt0.obj) : error LNK2019: 未解決の外部シンボル _main が関数 ___tmainCRTStartup で参照されました。
1>Release\mofkey.exe : fatal error LNK1120: 外部参照 1 が未解決です。

なんか悪化しました

ちなみに、int main(int,char* [])関数いれるとコンパイルできますが、プロセスヒープが初期化されずにクラッシュします

ehsc2
正答は、ATLでCRTをできるだけ使用しないを「いいえ」にするでした。

おすすめ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です