MantisBT - CMake
View Issue Details
0011760CMakeCMakepublic2011-01-25 21:442016-06-10 14:31
Dongsheng Song 
Kitware Robot 
normalminoralways
closedmoved 
CMake 2.8.3 
 
0011760: Change default link order for mingw
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.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45452 [^]
http://gcc.gnu.org/viewcvs?view=revision&revision=163738 [^]

In gcc trunk, the default library setting is:
t-mingw32:SHLIB_LC = -lmingwthrd -lmingw32 -lmingwex -lmoldname -lmsvcrt -ladvapi32 -lshell32 -luser32 -lkernel32
t-mingw-w32:SHLIB_LC = -lmingwthrd -lmingw32 -lmingwex -lmoldname -lmsvcrt -ladvapi32 -lshell32 -luser32 -lkernel32
t-mingw-w64:SHLIB_LC = -lmingwthrd -lmingw32 -lmingwex -lmoldname -lmsvcrt -ladvapi32 -lshell32 -luser32 -lkernel32

In share\cmake-2.8\Modules\Platform\Windows-GNU.cmake, the default library setting is:

set(CMAKE_C_STANDARD_LIBRARIES_INIT "-lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32")

I suggest use empty list:
set(CMAKE_C_STANDARD_LIBRARIES_INIT "")

Or for compatibility:
set(CMAKE_C_STANDARD_LIBRARIES_INIT "-luuid -lgdi32 -lcomdlg32 -lwinspool -lole32 -loleaut32")

Or full list with compatibility:
set(CMAKE_C_STANDARD_LIBRARIES_INIT "-lmingwthrd -lmingw32 -lmingwex -lmoldname -lmsvcrt -ladvapi32 -lshell32 -luser32 -lkernel32 -luuid -lgdi32 -lcomdlg32 -lwinspool -lole32 -loleaut32")


See description.
No tags attached.
Issue History
2011-01-25 21:44Dongsheng SongNew Issue
2012-08-11 11:09David ColeStatusnew => backlog
2012-08-11 11:09David ColeNote Added: 0030222
2016-06-10 14:28Kitware RobotNote Added: 0041786
2016-06-10 14:28Kitware RobotStatusbacklog => resolved
2016-06-10 14:28Kitware RobotResolutionopen => moved
2016-06-10 14:28Kitware RobotAssigned To => Kitware Robot
2016-06-10 14:31Kitware RobotStatusresolved => closed

Notes
(0030222)
David Cole   
2012-08-11 11:09   
Sending old, never assigned issues to the backlog.

(The age of the bug, plus the fact that it's never been assigned to anyone means that nobody is actively working on it...)

If an issue you care about is sent to the backlog when you feel it should have been addressed in a different manner, please bring it up on the CMake mailing list for discussion. Sign up for the mailing list here, if you're not already on it: http://www.cmake.org/mailman/listinfo/cmake [^]

It's easy to re-activate a bug here if you can find a CMake developer who has the bandwidth to take it on, and ferry a fix through to our 'next' branch for dashboard testing.
(0041786)
Kitware Robot   
2016-06-10 14:28   
Resolving issue as `moved`.

This issue tracker is no longer used. Further discussion of this issue may take place in the current CMake Issues page linked in the banner at the top of this page.