WTL のリリース版で困った話
WTL のリリース版をコンパイルしようとしてトラブルがありました
C:\Program Files (x86)\Microsoft Visual Studio 8\VC\include\xlocale(326) : warning C4530: C++ 例外処理を使っていますが、アンワインド セマンティクスは有効にはなりません。/EHsc を指定してください。 1> |
仕方ないので、/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 で参照されました。 |
なんか悪化しました
ちなみに、int main(int,char* [])関数いれるとコンパイルできますが、プロセスヒープが初期化されずにクラッシュします
正答は、ATLでCRTをできるだけ使用しないを「いいえ」にするでした。
Comments