VisualStudio 2017 v15.8.5 (vc141)  [SOLVED]

Do you have a question about makefiles, a compiler or IDE you are using and need to know how to set it up for wxWidgets or why it doesn't compile but other IDE's do ? Post your questions here.
Nunki
I live to help wx-kind
I live to help wx-kind
Posts: 190
Joined: Fri Sep 14, 2012 8:26 am
Location: Kontich, Belgium
Contact:

VisualStudio 2017 v15.8.5 (vc141)

Postby Nunki » Mon Sep 24, 2018 5:59 am

Hi Guys,

I have the same error occurring when compiling a dll on VS2017 regarding wxStrcol not being defined. VS2017 is the 64bit version but I'm compiling my dll in 32bit mode. So I used the precompiled wxWidgets v3.0.4 32 bits for vs2017 (the one with 141 in the filename). Any clues on why and how to solve this ? As you can see in the screenprint there are other issues that may or may not disappear when solving this one.

wxStrcoll.png


with regards,
Nunki

User avatar
doublemax
Moderator
Moderator
Posts: 12882
Joined: Fri Apr 21, 2006 8:03 pm
Location: $FCE2

Re: VisualStudio 2017 v15.8.5 (vc141)

Postby doublemax » Mon Sep 24, 2018 7:14 am

It's possible that VS2017 is just too new for wx3.0.4. Can you try with 3.1.1?

What's the very first error message you get.
Use the source, Luke!

PB
Part Of The Furniture
Part Of The Furniture
Posts: 1788
Joined: Sun Jan 03, 2010 5:45 pm

Re: VisualStudio 2017 v15.8.5 (vc141)

Postby PB » Mon Sep 24, 2018 8:25 am

doublemax wrote:It's possible that VS2017 is just too new for wx3.0.4.


As I wrote in a recent similar thread, I could build wxWidgets 3.04 with MSVC 2017.

However, I used MSVC v15.8.4 and the OP is also using the prebuilt libraries buit with MSVC older than 15.8.5 but I believe neither should make a difference.

BTW, I believe that there is no 64-bit version of MSVS, despite people asking for it for years....

Edit: FWIW, I could build wxWidgets 3.04 and its xrc sample without any issues (Debug Static).

Nunki
I live to help wx-kind
I live to help wx-kind
Posts: 190
Joined: Fri Sep 14, 2012 8:26 am
Location: Kontich, Belgium
Contact:

Re: VisualStudio 2017 v15.8.5 (vc141)

Postby Nunki » Mon Sep 24, 2018 10:01 pm

I do think VS2017 to be a 64bit compiler - who can also build 32bit applications. When youo open the project properties you can choose the platform (see screenshot) and x64 would be a build for a 64bit application I think.

64bit.png
64bit.png (36.52 KiB) Viewed 1026 times


I could of course and certainly will try 3.1.1 and see what happens, though this version is not yet considered a stable release, thus not for production environments.

However, the source where this error refers to is this:

Code: Select all

// GCC 3.4 and other compilers have a bug that causes it to fail compilation if
// the template's implementation uses overloaded function declared later (see
// the wxStrcoll() call in wxStrcoll_String<T>()), so we have to
// forward-declare the template and implement it below WX_STRCMP_FUNC. OTOH,
// this fails to compile with VC6, so don't do it for VC. It also causes
// problems with GCC visibility in newer GCC versions.
#if !(defined(__VISUALC__) || (wxCHECK_GCC_VERSION(3,5) && !wxCHECK_GCC_VERSION(4,7))) || defined(__clang__)
    #define wxNEEDS_DECL_BEFORE_TEMPLATE
#endif

#ifdef wxNEEDS_DECL_BEFORE_TEMPLATE
template<typename T>
inline int wxStrcoll_String(const wxString& s1, const T& s2);
WX_STRCMP_FUNC(wxStrcoll, wxCRT_StrcollA, wxCRT_StrcollW, wxStrcoll_String)
#endif // wxNEEDS_DECL_BEFORE_TEMPLATE

template<typename T>
inline int wxStrcoll_String(const wxString& s1, const T& s2)
{
#if wxUSE_UNICODE
    // NB: strcoll() doesn't work correctly on UTF-8 strings, so we have to use
    //     wc_str() even if wxUSE_UNICODE_UTF8; the (const wchar_t*) cast is
    //     there just as optimization to avoid going through
    //     wxStrcoll<wxScopedWCharBuffer>:
    return wxStrcoll((const wchar_t*)s1.wc_str(), s2);
#else
    return wxStrcoll((const char*)s1.mb_str(), s2);
#endif
}


And I must say VS2017 is much more strict on syntax. Whereas VS2010 allowed for a class member be defined in the header file with the prefix like

Code: Select all

class myClass:
{
 myClass::myClass(void);
 myClass::~myClass(void);
 void myClass::Insert(void);
 };

it now must be more like gcc already required a long time ago

Code: Select all

class myClass:
{
 myClass(void);
 ~myClass(void);
 void Insert(void);
 };


Now since this piece of code refers to GCC in the comment about a forward declare, I would think this to be the possible source of the problem. Maybe for VS2017 15.8.5 the constant wxNEEDS_DECL_BEFORE_TEMPLATE needs to be declared.

with regards,
Nunki

PB
Part Of The Furniture
Part Of The Furniture
Posts: 1788
Joined: Sun Jan 03, 2010 5:45 pm

Re: VisualStudio 2017 v15.8.5 (vc141)

Postby PB » Tue Sep 25, 2018 5:43 am

Nunki wrote:I do think VS2017 to be a 64bit compiler - who can also build 32bit applications.

While MSVC can indeed produce 64-bit code, it itself is still a 32-bit program, as you can see in the task manager (notice "*32" next to the process name in the process list on 64-bit Windows). 64-bit MSVS is not even in plans for the next MSVS version, see e.g. the answers of MS devs in the discussion here: https://blogs.msdn.microsoft.com/visualstudio/2018/06/06/whats-next-for-visual-studio/ This of course has no relevance for the topic, just saying...


As I wrote in the edit of my previous post in this thread (but failed to mention the version), I could build wxWidgets and xrc sample with MSVC Express 15.8.5 (static debug 32-bit as well as DLL debug 64-bit). However I still did not try the prebuilt libraries, though the issue the op has is with an inline function so...

Nunki
I live to help wx-kind
I live to help wx-kind
Posts: 190
Joined: Fri Sep 14, 2012 8:26 am
Location: Kontich, Belgium
Contact:

Re: VisualStudio 2017 v15.8.5 (vc141)

Postby Nunki » Tue Sep 25, 2018 8:10 am

Hi,

When I add the exception of _MSC_VER_ being 1915 which is the VS2017 141 version 15.8.5, the errors regarding wxStrcol disappear. However, there are lots of other - likewise - errors. So I'm wondering if this needs to be logged with a bugreport or what.

Code: Select all

// GCC 3.4 and other compilers have a bug that causes it to fail compilation if
// the template's implementation uses overloaded function declared later (see
// the wxStrcoll() call in wxStrcoll_String<T>()), so we have to
// forward-declare the template and implement it below WX_STRCMP_FUNC. OTOH,
// this fails to compile with VC6, so don't do it for VC. It also causes
// problems with GCC visibility in newer GCC versions.
#if (!(defined(__VISUALC__) || (wxCHECK_GCC_VERSION(3,5) && !wxCHECK_GCC_VERSION(4,7))) || defined(__clang__) || (_MSC_VER == 1915))
    #define wxNEEDS_DECL_BEFORE_TEMPLATE
#endif

#ifdef wxNEEDS_DECL_BEFORE_TEMPLATE
template<typename T>
inline int wxStrcoll_String(const wxString& s1, const T& s2);
WX_STRCMP_FUNC(wxStrcoll, wxCRT_StrcollA, wxCRT_StrcollW, wxStrcoll_String)
#endif // wxNEEDS_DECL_BEFORE_TEMPLATE


The list of errors is

Code: Select all

Severity   Code   Description   Project   File   Line   Suppression State
Error   C2079   '_DRIVER_INFO_8A::ftDriverDate' uses undefined struct '_FILETIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\winspool.h   775   
Error   C2011   '_FILETIME': 'struct' type redefinition (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\shared\minwindef.h   271   
Error   C2011   '_SYSTEMTIME': 'struct' type redefinition (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\minwinbase.h   90   
Error   C2079   '_WIN32_FIND_DATAA::ftCreationTime' uses undefined struct '_FILETIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\minwinbase.h   104   
Error   C2079   '_WIN32_FIND_DATAA::ftLastAccessTime' uses undefined struct '_FILETIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\minwinbase.h   105   
Error   C2079   '_WIN32_FIND_DATAA::ftLastWriteTime' uses undefined struct '_FILETIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\minwinbase.h   106   
Error   C2079   '_WIN32_FIND_DATAW::ftCreationTime' uses undefined struct '_FILETIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\minwinbase.h   121   
Error   C2079   '_WIN32_FIND_DATAW::ftLastAccessTime' uses undefined struct '_FILETIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\minwinbase.h   122   
Error   C2079   '_WIN32_FIND_DATAW::ftLastWriteTime' uses undefined struct '_FILETIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\minwinbase.h   123   
Error   C2061   syntax error: identifier 'LPFILETIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\fileapi.h   173   
Error   C2079   '_WIN32_FILE_ATTRIBUTE_DATA::ftCreationTime' uses undefined struct '_FILETIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\fileapi.h   471   
Error   C2079   '_WIN32_FILE_ATTRIBUTE_DATA::ftLastAccessTime' uses undefined struct '_FILETIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\fileapi.h   472   
Error   C2079   '_WIN32_FILE_ATTRIBUTE_DATA::ftLastWriteTime' uses undefined struct '_FILETIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\fileapi.h   473   
Error   C2079   '_BY_HANDLE_FILE_INFORMATION::ftCreationTime' uses undefined struct '_FILETIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\fileapi.h   530   
Error   C2079   '_BY_HANDLE_FILE_INFORMATION::ftLastAccessTime' uses undefined struct '_FILETIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\fileapi.h   531   
Error   C2079   '_BY_HANDLE_FILE_INFORMATION::ftLastWriteTime' uses undefined struct '_FILETIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\fileapi.h   532   
Error   C2061   syntax error: identifier 'LPFILETIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\fileapi.h   617   
Error   C2061   syntax error: identifier 'LPFILETIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\fileapi.h   840   
Error   C2061   syntax error: identifier 'LPFILETIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\processthreadsapi.h   108   
Error   C2061   syntax error: identifier 'LPFILETIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\processthreadsapi.h   822   
Error   C2065   'PFILETIME': undeclared identifier (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\processthreadsapi.h   970   
Error   C2146   syntax error: missing ')' before identifier 'lpIdleTime' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\processthreadsapi.h   970   
Error   C2065   'LPSYSTEMTIME': undeclared identifier (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\sysinfoapi.h   104   
Error   C2146   syntax error: missing ')' before identifier 'lpSystemTime' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\sysinfoapi.h   105   
Error   C2065   'LPFILETIME': undeclared identifier (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\sysinfoapi.h   112   
Error   C2146   syntax error: missing ')' before identifier 'lpSystemTimeAsFileTime' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\sysinfoapi.h   113   
Error   C2065   'LPSYSTEMTIME': undeclared identifier (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\sysinfoapi.h   120   
Error   C2146   syntax error: missing ')' before identifier 'lpSystemTime' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\sysinfoapi.h   121   
Error   C2061   syntax error: identifier 'PFILETIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\threadpoolapiset.h   250   
Error   C2061   syntax error: identifier 'PFILETIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\threadpoolapiset.h   298   
Error   C2061   syntax error: identifier 'PFILETIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\threadpoolapiset.h   369   
Error   C2061   syntax error: identifier 'PFILETIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\threadpoolapiset.h   381   
Error   C2061   syntax error: identifier 'LPFILETIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\winbase.h   2367   
Error   C2079   '_TIME_ZONE_INFORMATION::StandardDate' uses undefined struct '_SYSTEMTIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\timezoneapi.h   38   
Error   C2079   '_TIME_ZONE_INFORMATION::DaylightDate' uses undefined struct '_SYSTEMTIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\timezoneapi.h   41   
Error   C2079   '_TIME_DYNAMIC_ZONE_INFORMATION::StandardDate' uses undefined struct '_SYSTEMTIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\timezoneapi.h   48   
Error   C2079   '_TIME_DYNAMIC_ZONE_INFORMATION::DaylightDate' uses undefined struct '_SYSTEMTIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\timezoneapi.h   51   
Error   C2061   syntax error: identifier 'LPSYSTEMTIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\timezoneapi.h   64   
Error   C2061   syntax error: identifier 'LPSYSTEMTIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\timezoneapi.h   75   
Error   C2061   syntax error: identifier 'LPSYSTEMTIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\timezoneapi.h   85   
Error   C2061   syntax error: identifier 'LPFILETIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\timezoneapi.h   95   
Error   C2061   syntax error: identifier 'PFILETIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\winreg.h   555   
Error   C2061   syntax error: identifier 'PFILETIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\winreg.h   569   
Error   C2061   syntax error: identifier 'PFILETIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\winreg.h   762   
Error   C2061   syntax error: identifier 'PFILETIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\winreg.h   780   
Error   C2079   'tagRPC_EXTENDED_ERROR_INFO::SystemTime' uses undefined struct '_SYSTEMTIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\shared\rpcasync.h   290   
Error   C2079   'tagRPC_EXTENDED_ERROR_INFO::FileTime' uses undefined struct '_FILETIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\shared\rpcasync.h   291   
Error   C2079   '_PERF_DATA_BLOCK::SystemTime' uses undefined struct '_SYSTEMTIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\winperf.h   84   
Error   C2079   '_CERT_INFO::NotBefore' uses undefined struct '_FILETIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\wincrypt.h   2325   
Error   C2079   '_CERT_INFO::NotAfter' uses undefined struct '_FILETIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\wincrypt.h   2326   
Error   C2079   '_CRL_ENTRY::RevocationDate' uses undefined struct '_FILETIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\wincrypt.h   2365   
Error   C2079   '_CRL_INFO::ThisUpdate' uses undefined struct '_FILETIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\wincrypt.h   2380   
Error   C2079   '_CRL_INFO::NextUpdate' uses undefined struct '_FILETIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\wincrypt.h   2381   
Error   C2079   '_CTL_INFO::ThisUpdate' uses undefined struct '_FILETIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\wincrypt.h   2491   
Error   C2079   '_CTL_INFO::NextUpdate' uses undefined struct '_FILETIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\wincrypt.h   2492   
Error   C2079   '_CERT_PRIVATE_KEY_VALIDITY::NotBefore' uses undefined struct '_FILETIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\wincrypt.h   3892   
Error   C2079   '_CERT_PRIVATE_KEY_VALIDITY::NotAfter' uses undefined struct '_FILETIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\wincrypt.h   3893   
Error   C2079   '_CMC_PEND_INFO::PendTime' uses undefined struct '_FILETIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\wincrypt.h   5281   
Error   C2079   '_OCSP_BASIC_REVOKED_INFO::RevocationDate' uses undefined struct '_FILETIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\wincrypt.h   5670   
Error   C2079   '_OCSP_BASIC_RESPONSE_ENTRY::ThisUpdate' uses undefined struct '_FILETIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\wincrypt.h   5688   
Error   C2079   '_OCSP_BASIC_RESPONSE_ENTRY::NextUpdate' uses undefined struct '_FILETIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\wincrypt.h   5689   
Error   C2079   '_OCSP_BASIC_RESPONSE_INFO::ProducedAt' uses undefined struct '_FILETIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\wincrypt.h   5709   
Error   C2079   '_CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO::Date' uses undefined struct '_FILETIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\wincrypt.h   6921   
Error   C2079   '_CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO::Date' uses undefined struct '_FILETIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\wincrypt.h   6997   
Error   C2079   '_CMSG_RECIPIENT_ENCRYPTED_KEY_INFO::Date' uses undefined struct '_FILETIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\wincrypt.h   7789   
Error   C2079   '_CMSG_MAIL_LIST_RECIPIENT_INFO::Date' uses undefined struct '_FILETIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\wincrypt.h   7820   
Error   C3646   'pftTimeToUse': unknown override specifier (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\wincrypt.h   13827   
Error   C4430   missing type specifier - int assumed. Note: C++ does not support default-int (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\wincrypt.h   13827   
Error   C2065   'LPFILETIME': undeclared identifier (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\wincrypt.h   14575   
Error   C2146   syntax error: missing ')' before identifier 'pTimeToVerify' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\wincrypt.h   14575   
Error   C2065   'LPFILETIME': undeclared identifier (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\wincrypt.h   14597   
Error   C2146   syntax error: missing ')' before identifier 'pTimeToVerify' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\wincrypt.h   14597   
Error   C2079   '_CRYPTNET_URL_CACHE_PRE_FETCH_INFO::ThisUpdateTime' uses undefined struct '_FILETIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\wincrypt.h   17354   
Error   C2079   '_CRYPTNET_URL_CACHE_PRE_FETCH_INFO::NextUpdateTime' uses undefined struct '_FILETIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\wincrypt.h   17355   
Error   C2079   '_CRYPTNET_URL_CACHE_PRE_FETCH_INFO::PublishTime' uses undefined struct '_FILETIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\wincrypt.h   17356   
Error   C2079   '_CRYPTNET_URL_CACHE_FLUSH_INFO::ExpireTime' uses undefined struct '_FILETIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\wincrypt.h   17382   
Error   C2079   '_CRYPTNET_URL_CACHE_RESPONSE_INFO::LastModifiedTime' uses undefined struct '_FILETIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\wincrypt.h   17398   
Error   C3646   'pftCacheResync': unknown override specifier (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\wincrypt.h   17452   
Error   C4430   missing type specifier - int assumed. Note: C++ does not support default-int (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\wincrypt.h   17452   
Error   C3646   'pftCacheResync': unknown override specifier (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\wincrypt.h   17818   
Error   C4430   missing type specifier - int assumed. Note: C++ does not support default-int (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\wincrypt.h   17818   
Error   C3646   'pLastSyncTime': unknown override specifier (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\wincrypt.h   17821   
Error   C4430   missing type specifier - int assumed. Note: C++ does not support default-int (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\wincrypt.h   17821   
Error   C3646   'pMaxAgeTime': unknown override specifier (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\wincrypt.h   17826   
Error   C4430   missing type specifier - int assumed. Note: C++ does not support default-int (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\wincrypt.h   17826   
Error   C2061   syntax error: identifier 'LPFILETIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\wincrypt.h   17847   
Error   C2061   syntax error: identifier 'PSYSTEMTIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\wincrypt.h   17992   
Error   C2061   syntax error: identifier 'LPFILETIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\wincrypt.h   19719   
Error   C3646   'pftCurrentTime': unknown override specifier (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\wincrypt.h   19761   
Error   C4430   missing type specifier - int assumed. Note: C++ does not support default-int (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\wincrypt.h   19761   
Error   C3646   'pftCacheResync': unknown override specifier (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\wincrypt.h   19762   
Error   C4430   missing type specifier - int assumed. Note: C++ does not support default-int (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\wincrypt.h   19762   
Error   C2079   '_JOB_INFO_1A::Submitted' uses undefined struct '_SYSTEMTIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\winspool.h   345   
Error   C2079   '_JOB_INFO_1W::Submitted' uses undefined struct '_SYSTEMTIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\winspool.h   360   
Error   C2079   '_JOB_INFO_2A::Submitted' uses undefined struct '_SYSTEMTIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\winspool.h   393   
Error   C2079   '_JOB_INFO_2W::Submitted' uses undefined struct '_SYSTEMTIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\winspool.h   418   
Error   C2079   '_JOB_INFO_4A::Submitted' uses undefined struct '_SYSTEMTIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\winspool.h   459   
Error   C2079   '_JOB_INFO_4W::Submitted' uses undefined struct '_SYSTEMTIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\winspool.h   485   
Error   C2079   '_DRIVER_INFO_6A::ftDriverDate' uses undefined struct '_FILETIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\winspool.h   712   
Error   C2079   '_DRIVER_INFO_6W::ftDriverDate' uses undefined struct '_FILETIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\winspool.h   731   
Error   C2079   '_DRIVER_INFO_8A::ftMinInboxDriverVerDate' uses undefined struct '_FILETIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\winspool.h   787   
Error   C2079   '_DRIVER_INFO_8W::ftDriverDate' uses undefined struct '_FILETIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\winspool.h   802   
Error   C2079   '_DRIVER_INFO_8W::ftMinInboxDriverVerDate' uses undefined struct '_FILETIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\winspool.h   814   
Error   C2079   '_CORE_PRINTER_DRIVERA::ftDriverDate' uses undefined struct '_FILETIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\winspool.h   3558   
Error   C2079   '_CORE_PRINTER_DRIVERW::ftDriverDate' uses undefined struct '_FILETIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\winspool.h   3565   
Error   C2079   'tagSTATSTG::mtime' uses undefined struct '_FILETIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\objidlbase.h   2218   
Error   C2079   'tagSTATSTG::ctime' uses undefined struct '_FILETIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\objidlbase.h   2219   
Error   C2079   'tagSTATSTG::atime' uses undefined struct '_FILETIME' (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\objidlbase.h   2220   
Error   C1003   error count exceeds 100; stopping compilation (compiling source file ..\Src\XmlTools.cpp)   BTK   c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\objidlbase.h   2220   
Error   C4703   potentially uninitialized local pointer variable 'hCtrl' used   BTK   k:\dbs1.9\btk\src\wndtools.cpp   65   
Error   C4703   potentially uninitialized local pointer variable 'hCtrl' used   BTK   k:\dbs1.9\btk\src\wndtools.cpp   120   



regards,
Nunki

PB
Part Of The Furniture
Part Of The Furniture
Posts: 1788
Joined: Sun Jan 03, 2010 5:45 pm

Re: VisualStudio 2017 v15.8.5 (vc141)

Postby PB » Tue Sep 25, 2018 9:07 am

Can you reproduce the issue with any of the bundled samples (using vc9 converted projects) or is it just with your own project file?

If it were wxWidgets issue, how come it works for me? Did it really stopped working just because you upgraded to 15.8.5? Does the issue manifest when you use wxWidgets libraries you built by yourself?

Nunki
I live to help wx-kind
I live to help wx-kind
Posts: 190
Joined: Fri Sep 14, 2012 8:26 am
Location: Kontich, Belgium
Contact:

Re: VisualStudio 2017 v15.8.5 (vc141)

Postby Nunki » Tue Sep 25, 2018 12:11 pm

Hi PB,

I haven't tried any project apart from the one I was trying now.
It could be IMHO that indeed MS augmented the level of complying to the standards. Since the comments in the wxWidgets code clearly stated, the developers themselves have already been confronted with the fact that gcc is more strict than VS. So yes it could be just that difference between my version and yours. Or it could also be a compiler option that I do not know yet, that treats these items as errors. But that should mean also that in your version/setup these errors were treated as warnings, at least.

Up till now I only used the binary prebuilt versions of wxWidgets.

with regards,
Nunki

PB
Part Of The Furniture
Part Of The Furniture
Posts: 1788
Joined: Sun Jan 03, 2010 5:45 pm

Re: VisualStudio 2017 v15.8.5 (vc141)

Postby PB » Tue Sep 25, 2018 12:35 pm

Nunki wrote:So yes it could be just that difference between my version and yours. Or it could also be a compiler option that I do not know yet, that treats these items as errors. But that should mean also that in your version/setup these errors were treated as warnings, at least.


I tried with wxWidgets 3.0.4 with unmodified setup.h and the same version of MSVC you have - 15.8.5.

What I meant to say was that you should try to reproduce the error with wxWidgets sample before you submit this as a bug, to make sure the issue is not within your project.

The errors about standard Windows types such _SYSTEMTIME or _FILETIME being undefined look odd, as if there were a windows header files issue.

ONEEYEMAN
Part Of The Furniture
Part Of The Furniture
Posts: 2826
Joined: Sat Apr 16, 2005 7:22 am
Location: USA, Ukraine

Re: VisualStudio 2017 v15.8.5 (vc141)

Postby ONEEYEMAN » Tue Sep 25, 2018 3:46 pm

Hi,
I could of course and certainly will try 3.1.1 and see what happens, though this version is not yet considered a stable release, thus not for production environments.

Why do you say this?
The only difference between stable and development releases are API/ABI compatibility.

It means that between 3.0.0 and 3.0.4 (all stable releases) there is a guarantee that both those aforementioned compatibilities won't be broken.
And between 3.1.0 and 3.1.1, the API compatibility can be broken. And it will make a transition to 3.2.0 (next stable release) easier, because the API will be stable by that time and you will eliminate all those hassles with the upgrade.

But both 3.0.4 and 3.1.1 can be used for production in all 3 major platforms. Remember you can create a dependency in *nix builds for any version you want when you start packaging the software.

Thank you.

Nunki
I live to help wx-kind
I live to help wx-kind
Posts: 190
Joined: Fri Sep 14, 2012 8:26 am
Location: Kontich, Belgium
Contact:

Re: VisualStudio 2017 v15.8.5 (vc141)  [SOLVED]

Postby Nunki » Sat Oct 06, 2018 12:37 pm

Hi Guys,

Problem solved. Turned out wxWidgets was not the base of this problem. VS2017 for some reason resulted these error because of the sequence of the include files. Once I rearranged the sequence it compiled without any errors or warnings.

Thanks to all who stepped in to help me.

regards,
Nunki


Return to “Compiler / Linking / IDE Related”

Who is online

Users browsing this forum: No registered users and 6 guests