簡単なプログラムを考えると:
#include <windows.h>
int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hInstPrev,
LPSTR lpCmdLine, int nCmdShow)
{
return 0;
}
実行すると正常に動作g++ a.cpp
します。
ただし、実行g++ -c a.cpp && ar rcs a.a a.o && g++ a.a
すると次のエラーが発生します。
c:/mingw32/bin/../lib/gcc/i686-w64-mingw32/4.8.1/../../../../i686-w64-mingw32/lib/../lib/libmingw32.a(lib32_libmingw32_a-crt0_c.o):crt0_c.c:(.text.startup+0x39): undefined reference to `WinMain@16'
collect2.exe: error: ld returned 1 exit status
なぜこれが起こるのかについての洞察はありますか?.a ファイルのみのプログラムをリンクするにはどうすればよいですか?