paleozogt / MSVCDocker

MSVC via Wine in Docker
121 stars 20 forks source link

Can't find cl.exe when building msvc10 #25

Open jamesu opened 3 years ago

jamesu commented 3 years ago

When building the msvc10 container, it fails when trying to run cl.exe, i.e.:

Step 32/44 : RUN umask $WINE_UMASK &&     cd test &&     MSVCARCH=32 vcwine cl helloworld.cpp && vcwine helloworld.exe &&     MSVCARCH=64 vcwine cl helloworld.cpp && vcwine helloworld.exe &&     vcwine cl helloworld.cpp && vcwine helloworld.exe &&     cd .. && rm -rf test
 ---> Running in e5a3b1aefd2f
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.30319.01 for 80x86
Copyright (C) Microsoft Corporation.  All rights reserved.

helloworld.cpp
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xlocale(323) : warning C4530: C++ exception handler used, but unwind semantics are not enabled. Specify /EHsc
Microsoft (R) Incremental Linker Version 10.00.30319.01
Copyright (C) Microsoft Corporation.  All rights reserved.

/out:helloworld.exe 
helloworld.obj 
hello world from win x86 msvc v1600
wine: cannot find L"C:\\windows\\system32\\cl.exe"
The command '/bin/sh -c umask $WINE_UMASK &&     cd test &&     MSVCARCH=32 vcwine cl helloworld.cpp && vcwine helloworld.exe &&     MSVCARCH=64 vcwine cl helloworld.cpp && vcwine helloworld.exe &&     vcwine cl helloworld.cpp && vcwine helloworld.exe &&     cd .. && rm -rf test' returned a non-zero code: 2
make: *** [Makefile:18: buildmsvc10] Error 2
user@linux-jpmj:~/MSVCDocker> 

Full log: log.txt

I was able to build an msvc14 container with no problems. I also ran a make clean before the last attempt, but the result is the same.

jamesu commented 3 years ago

Just a small update, checked the container environment and it seems the 32bit compiler is fine, but the 64bit compiler is not, i.e.

$ cd home/wine/test
$ MSVCARCH=32 vcwine cl helloworld.cpp && vcwine helloworld.exe
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.30319.01 for 80x86
Copyright (C) Microsoft Corporation.  All rights reserved.

helloworld.cpp
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xlocale(323) : warning C4530: C++ exception handler used, but unwind semantics are not enabled. Specify /EHsc
Microsoft (R) Incremental Linker Version 10.00.30319.01
Copyright (C) Microsoft Corporation.  All rights reserved.

/out:helloworld.exe 
helloworld.obj 
hello world from win x86 msvc v1600
$ MSVCARCH=64 vcwine cl helloworld.cpp && vcwine helloworld.exe
wine: cannot find L"C:\\windows\\system32\\cl.exe"