[CMake] [cmake-developers] [ANNOUNCE] CMake 3.1.0-rc1 now ready for testing!

Eric Wing ewmailing at gmail.com
Tue Nov 4 18:21:00 EST 2014


On 10/31/14, Gilles Khouzam <Gilles.Khouzam at microsoft.com> wrote:
> We actually have a couple if extra changes that are not fully ready to be
> pushed upstream yet.
>
> ~Gilles
> Sent from my Windows Phone


Since I have your attention, using CMakeMS, I hit what looks like a
bug in the generation for the Windows Phone simulator. I have not
tested 3.1.0-rc1, but since it is the from the same code base, I'm
assuming it is affected too.

I get a linking failure for only the WinPhone simulator (Win32)
binary. This is the error the linker is spitting out:

vccorlib.lib(compiler.obj) : error LNK2038: mismatch detected for
'vccorlib_lib_should_be_specified_before_msvcrt_lib_to_linker': value
'1' doesn't match '0' in MSVCRT.lib(appinit.obj)
vccorlib.lib(compiler.obj) : error LNK2005: ___crtWinrtInitType
already defined in MSVCRT.lib(appinit.obj)
D:\<snip>\Release\FlappyBlurrr.exe : fatal error LNK1169: one or more
multiply defined symbols found

This only happens for me with the Win32 simulator binary. I do not
have this problem with the ARM device binary, nor do I have this
problem with the Windows Store x64 binary. (I do not bother with Win32
Windows Store.)


Somebody helped me and told me to add these switches directly to my
Visual Studio project:

- for Debug builds, add: /nodefaultlib:vccorlibd /nodefaultlib:msvcrtd
vccorlibd.lib msvcrtd.lib

- for Release builds, add: /nodefaultlib:vccorlib /nodefaultlib:msvcrt
vccorlib.lib msvcrt.lib

This seemed to make my linking problems go away.

I'm thinking that CMake should automatically be setting these for me
for the Windows Phone simulator.

Thanks,
Eric
-- 
Beginning iPhone Games Development
http://playcontrol.net/iphonegamebook/


More information about the CMake mailing list