Due to kernel32 exporting many of the same functions as advapi32 in Win 7 but not in prior Windows versions, executables that link to those functions in kernel32 cause entry point errors on older Windows releases.
Currently it uses: -luser32 -lkernel32 -ladvapi32 -lshell32 Kai Tietz has proposed: -lshell32 -ladvapi32 -luser32 -lkernel32 -- Summary: Change default link order Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: ir0nh34d at gmail dot com GCC build triplet: x86_64-w64-mingw32 GCC host triplet: x86_64-w64-mingw32 GCC target triplet: x86_64-w64-mingw32 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45452