The following issue has been SUBMITTED. 
====================================================================== 
http://public.kitware.com/Bug/view.php?id=11760 
====================================================================== 
Reported By:                Dongsheng Song
Assigned To:                
====================================================================== 
Project:                    CMake
Issue ID:                   11760
Category:                   CMake
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     new
====================================================================== 
Date Submitted:             2011-01-25 21:44 EST
Last Modified:              2011-01-25 21:44 EST
====================================================================== 
Summary:                    Change default link order for mingw
Description: 
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")




Steps to Reproduce: 
See description.
====================================================================== 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2011-01-25 21:44 Dongsheng Song New Issue                                    
======================================================================

_______________________________________________
cmake-developers mailing list
cmake-developers@cmake.org
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers

Reply via email to