Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I use the wmain() entry point in Code::Blocks?

I did a fresh install of Code::Blocks (I installed the one for Windows 7 which comes with GCC compiler (codeblocks-10.05mingw-setup.exe)). Then I tried to compile this very simple code:

int wmain(int argc, wchar_t* argv[])
{
    return 0;
}

I got this error message:

c:\development\ide\codeblocks\mingw\bin..\lib\gcc\mingw32\4.4.1......\libmingw32.a(main.o):main.c|| undefined reference to `WinMain@16'| ||=== Build finished: 1 errors, 0 warnings ===|

When I try to run my code with a main() entry, it runs as expected without any errors or warnings. How can I use wmain() in my code? What modifications do I have to do?

like image 702
hkBattousai Avatar asked Jun 07 '12 13:06

hkBattousai


People also ask

What is Wmain C++?

main is the normal program entry point in c & c++ and is passed the command line in single byte characters. wmain is an alternative that is used in many windows programs for unicode programs where it instead gets passed the command line as wide 16 bit unicode characters.

How do you set a code block path?

Goto "Settings" menu ⇒ "Debugger..." ⇒ Expand "GDB/CDB debugger" ⇒ Select "Default" ⇒ In "Executable path", provide the full-path name of " gdb.exe ", for example, " c:\Program Files\codeblocks\MinGW\bin\gdb.exe ".


1 Answers

The latest solution is to use the -municode option instead of the mingw-unicode-main wrapper.

For details, see:

  • wWinmain, Unicode, and Mingw
like image 74
XP1 Avatar answered Sep 28 '22 08:09

XP1