Stupid build issue - has to be an include file issue....
-
I have two PCs with VS2008 installed. One PC belongs to me, the other is a loaner PC being used by remote access. If I create a simple smartdevice dialog application, my PC builds it fine. The other PC, when compiling stdafx.cpp spews the following (truncated to avoid insanity...). There are no seperate include dirs for headers, etc. I've compared project settings between PCs, etc. The only thing I found different is that the failing machine did not have the Windows 7 SDK installed. Clearly I'm missing a header or a macro definition, but I don't see it. Ideas?
1>Compiling...
1>stdafx.cpp
1>c:\program files\windows ce tools\sdks\lync817_sdk\include\x86\stdlib.h(179) : error C2146: syntax error : missing ';' before identifier 'errno_t'
1>c:\program files\windows ce tools\sdks\lync817_sdk\include\x86\stdlib.h(179) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files\windows ce tools\sdks\lync817_sdk\include\x86\stdlib.h(184) : error C2146: syntax error : missing ';' before identifier 'errno_t'
1>c:\program files\windows ce tools\sdks\lync817_sdk\include\x86\stdlib.h(184) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files\windows ce tools\sdks\lync817_sdk\include\x86\stdlib.h(184) : error C2086: 'int __checkReturn_wat' : redefinition
1> c:\program files\windows ce tools\sdks\lync817_sdk\include\x86\stdlib.h(179) : see declaration of '__checkReturn_wat'
1>c:\program files\windows ce tools\sdks\lync817_sdk\include\x86\stdlib.h(196) : error C2146: syntax error : missing ';' before identifier 'errno_t'
1>c:\program files\windows ce tools\sdks\lync817_sdk\include\x86\stdlib.h(196) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-intCharlie Gilley <italic>Stuck in a dysfunctional matrix from which I must escape... "Where liberty dwells, there is my country." B. Franklin, 1783 “They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759
-
I have two PCs with VS2008 installed. One PC belongs to me, the other is a loaner PC being used by remote access. If I create a simple smartdevice dialog application, my PC builds it fine. The other PC, when compiling stdafx.cpp spews the following (truncated to avoid insanity...). There are no seperate include dirs for headers, etc. I've compared project settings between PCs, etc. The only thing I found different is that the failing machine did not have the Windows 7 SDK installed. Clearly I'm missing a header or a macro definition, but I don't see it. Ideas?
1>Compiling...
1>stdafx.cpp
1>c:\program files\windows ce tools\sdks\lync817_sdk\include\x86\stdlib.h(179) : error C2146: syntax error : missing ';' before identifier 'errno_t'
1>c:\program files\windows ce tools\sdks\lync817_sdk\include\x86\stdlib.h(179) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files\windows ce tools\sdks\lync817_sdk\include\x86\stdlib.h(184) : error C2146: syntax error : missing ';' before identifier 'errno_t'
1>c:\program files\windows ce tools\sdks\lync817_sdk\include\x86\stdlib.h(184) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files\windows ce tools\sdks\lync817_sdk\include\x86\stdlib.h(184) : error C2086: 'int __checkReturn_wat' : redefinition
1> c:\program files\windows ce tools\sdks\lync817_sdk\include\x86\stdlib.h(179) : see declaration of '__checkReturn_wat'
1>c:\program files\windows ce tools\sdks\lync817_sdk\include\x86\stdlib.h(196) : error C2146: syntax error : missing ';' before identifier 'errno_t'
1>c:\program files\windows ce tools\sdks\lync817_sdk\include\x86\stdlib.h(196) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-intCharlie Gilley <italic>Stuck in a dysfunctional matrix from which I must escape... "Where liberty dwells, there is my country." B. Franklin, 1783 “They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759
Smells to me like the sick machine is missing (or just can't find)
errno.h
which is whereerrno_t
is defined. Without the SDK there may be a whole bunch of low level include files missing. Happy hunting! PeterSoftware rusts. Simon Stephenson, ca 1994. So does this signature. me, 2012
-
I have two PCs with VS2008 installed. One PC belongs to me, the other is a loaner PC being used by remote access. If I create a simple smartdevice dialog application, my PC builds it fine. The other PC, when compiling stdafx.cpp spews the following (truncated to avoid insanity...). There are no seperate include dirs for headers, etc. I've compared project settings between PCs, etc. The only thing I found different is that the failing machine did not have the Windows 7 SDK installed. Clearly I'm missing a header or a macro definition, but I don't see it. Ideas?
1>Compiling...
1>stdafx.cpp
1>c:\program files\windows ce tools\sdks\lync817_sdk\include\x86\stdlib.h(179) : error C2146: syntax error : missing ';' before identifier 'errno_t'
1>c:\program files\windows ce tools\sdks\lync817_sdk\include\x86\stdlib.h(179) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files\windows ce tools\sdks\lync817_sdk\include\x86\stdlib.h(184) : error C2146: syntax error : missing ';' before identifier 'errno_t'
1>c:\program files\windows ce tools\sdks\lync817_sdk\include\x86\stdlib.h(184) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files\windows ce tools\sdks\lync817_sdk\include\x86\stdlib.h(184) : error C2086: 'int __checkReturn_wat' : redefinition
1> c:\program files\windows ce tools\sdks\lync817_sdk\include\x86\stdlib.h(179) : see declaration of '__checkReturn_wat'
1>c:\program files\windows ce tools\sdks\lync817_sdk\include\x86\stdlib.h(196) : error C2146: syntax error : missing ';' before identifier 'errno_t'
1>c:\program files\windows ce tools\sdks\lync817_sdk\include\x86\stdlib.h(196) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-intCharlie Gilley <italic>Stuck in a dysfunctional matrix from which I must escape... "Where liberty dwells, there is my country." B. Franklin, 1783 “They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759
Sorry you being very silly for a programmer it isn't insanity it makes perfect sense Look again at the error .. note the directories in particular "c:\program files\windows ce tools\sdks\lync817_sdk\include\x86\stdlib.h" There is nothing standard about and lets cover the basics 1.) The compiler is accessing files specific to some Windows CE SDK 2.) You are on a PC so you will need a SDK for Windows CE or the Compiler project settings are wrong 3.) The message is very clear what the problem is AKA it doesn't know what errno_t, it is an unknown type 4.) On a normal PC system errno_t is defined in the system file errno.h you use #include 5.) Being a system file the directories etc will be in the project settings as per note above. Anyhow I am not a mind reader what you are doing but for some reason the compilation is using files in Windows CE SDK. Install the CE SDK if that is what you are doing or look at your project settings they are wrong. You could also just recreate the project from scratch on that machine it takes like 1 minute ... Create project from existing source is your friend.
In vino veritas
-
Sorry you being very silly for a programmer it isn't insanity it makes perfect sense Look again at the error .. note the directories in particular "c:\program files\windows ce tools\sdks\lync817_sdk\include\x86\stdlib.h" There is nothing standard about and lets cover the basics 1.) The compiler is accessing files specific to some Windows CE SDK 2.) You are on a PC so you will need a SDK for Windows CE or the Compiler project settings are wrong 3.) The message is very clear what the problem is AKA it doesn't know what errno_t, it is an unknown type 4.) On a normal PC system errno_t is defined in the system file errno.h you use #include 5.) Being a system file the directories etc will be in the project settings as per note above. Anyhow I am not a mind reader what you are doing but for some reason the compilation is using files in Windows CE SDK. Install the CE SDK if that is what you are doing or look at your project settings they are wrong. You could also just recreate the project from scratch on that machine it takes like 1 minute ... Create project from existing source is your friend.
In vino veritas
Leon - yes, yes, you are correct. It is for a CE, Windows Embedded Compact, a Smart Device, and let's see what does Microsoft call them now? Hmm IoT or something. Note:
Quote:
If I create a simple smartdevice dialog application, my PC builds it fine
All of the defaults are set up by VS2008, so I admittedly was hoping for a "oh, yeah, I've seen that before" response. Nothing magic here, this is a completely default mfc dlg app that is the default framework of an application. This is an argument between VS2008 and I think the SDK, and years ago, I solved this. Just having a senior moment.
Charlie Gilley <italic>Stuck in a dysfunctional matrix from which I must escape... "Where liberty dwells, there is my country." B. Franklin, 1783 “They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759