MantisBT - CMake | |||||
| View Issue Details | |||||
| ID | Project | Category | View Status | Date Submitted | Last Update |
| 0015013 | CMake | CMake | public | 2014-07-10 12:05 | 2016-06-06 16:40 |
| Reporter | Gunnar Roth | ||||
| Assigned To | Brad King | ||||
| Priority | urgent | Severity | major | Reproducibility | always |
| Status | closed | Resolution | fixed | ||
| Platform | wec2013 | OS | wec2013 | OS Version | 8.00 |
| Product Version | CMake 3.0 | ||||
| Target Version | CMake 3.1 | Fixed in Version | CMake 3.1 | ||
| Summary | 0015013: subsystem windowsce is not set for dll only for exes, this makes dll not loadable on wec2013 (wince8) | ||||
| Description | the subsystem switch for the linker is only set for executables but not for dlls. this was no problem for ce < wec2013. but wec2013 checks for correct subsystem. you can see this informations using depends.exe from dependancywalker.com | ||||
| Steps To Reproduce | compile a project containg a dll with a wec2013 sdk. this dll will not be loaded on wec2013. | ||||
| Additional Information | this problem can be fixed with this simple patch: --- a\share\cmake-3.0\Modules/Platform/Windows-MSVC.cmake +++ b\share\cmake-3.0\Modules/Platform/Windows-MSVC.cmake @@ -37,12 +37,13 @@ endif() set(WIN32 1) if(CMAKE_SYSTEM_NAME MATCHES "WindowsCE") - set(CMAKE_CREATE_WIN32_EXE "/subsystem:windowsce /entry:WinMainCRTStartup") - set(CMAKE_CREATE_CONSOLE_EXE "/subsystem:windowsce /entry:mainACRTStartup") + set(CMAKE_CREATE_WIN32_EXE "/entry:WinMainCRTStartup") + set(CMAKE_CREATE_CONSOLE_EXE "/entry:mainACRTStartup") + set(CMAKE_EXE_LINKER_FLAGS_INIT "${CMAKE_EXE_LINKER_FLAGS_INIT} /subsystem:windowsce") set(WINCE 1) else() set(CMAKE_CREATE_WIN32_EXE "/subsystem:windows") set(CMAKE_CREATE_CONSOLE_EXE "/subsystem:console") endif() CMAKE_EXE_LINKER_FLAGS_INIT is inherited by the dll settings but CMAKE_CREATE_WIN32_EXE or CMAKE_CREATE_CONSOLE_EXE is of course not. | ||||
| Tags | No tags attached. | ||||
| Relationships | |||||
| Attached Files | https://public.kitware.com/Bug/file/5189/0001-MSVC-Fix-linking-of-DLLs-on-WinCE-15013.patch | ||||
| Issue History | |||||
| Date Modified | Username | Field | Change | ||
| 2014-07-10 12:05 | Gunnar Roth | New Issue | |||
| 2014-07-10 15:13 | Brad King | File Added: 0001-MSVC-Fix-linking-of-DLLs-on-WinCE-15013.patch | |||
| 2014-07-10 15:14 | Brad King | Note Added: 0036346 | |||
| 2014-07-10 15:14 | Brad King | Assigned To | => Brad King | ||
| 2014-07-10 15:14 | Brad King | Status | new => assigned | ||
| 2014-07-10 15:14 | Brad King | Target Version | => CMake 3.1 | ||
| 2014-07-10 16:00 | Gunnar Roth | Note Added: 0036349 | |||
| 2014-07-10 16:17 | Brad King | Note Added: 0036351 | |||
| 2014-07-10 16:19 | Brad King | Note Added: 0036352 | |||
| 2014-07-14 09:40 | Brad King | Status | assigned => resolved | ||
| 2014-07-14 09:40 | Brad King | Fixed in Version | => CMake 3.1 | ||
| 2015-01-05 08:39 | Robert Maynard | Note Added: 0037583 | |||
| 2015-01-05 08:39 | Robert Maynard | Status | resolved => closed | ||
| 2016-06-06 16:40 | Brad King | Resolution | open => fixed | ||
| Notes | |||||
|
|
|||||
|
|
||||
|
|
|||||
|
|
||||
|
|
|||||
|
|
||||
|
|
|||||
|
|
||||
|
|
|||||
|
|
||||