I'm trying to add wxwidgets to my cmake system using a subdirectory similar to the last section here: https://docs.wxwidgets.org/trunk/overview_cmake.html.
My project has the following structure:
.
├── CMakeLists.txt
├── include
│ ├── gui
│ │ └── ui.hpp
│ ├── main.hpp
│ └── processor
│ └── toy_processor.hpp
├── libs
│ └── wxWidgets-3.1.6
├── README.md
└── src
├── gui
│ ├── CMakeLists.txt
│ └── ui.cpp
├── main.cpp
└── processor
├── CMakeLists.txt
└── toy_processor.cpp
and CMakeList.txt looks like this:
Code: Select all
cmake_minimum_required(VERSION 3.10)
project(ToyV2)
add_subdirectory(libs/wxWidgets-3.1.6/)
include_directories(include/ libs/wxWidgets-3.1.6/include/)
add_subdirectory(src/gui/)
add_subdirectory(src/processor/)
add_executable(ToyV2 src/main.cpp)
target_link_libraries(ToyV2 wx::net wx::core wx::base)
target_link_libraries(ToyV2 gui)
target_link_libraries(ToyV2 processor)
But every time you try to include some wx header in my project you get errors like this:
Code: Select all
[ 57%] Building CXX object src/gui/CMakeFiles/gui.dir/ui.cpp.o
In file included from /home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/defs.h:933,
from /home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/event.h:14,
from /home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/window.h:18,
from /home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/nonownedwnd.h:14,
from /home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/toplevel.h:20,
from /home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/frame.h:18,
from /home/benedict/projects/toy-processor-2/include/gui/ui.hpp:14,
from /home/benedict/projects/toy-processor-2/src/gui/ui.cpp:1:
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/types.h:161:30: error: expected constructor, destructor, or type conversion before ‘(’ token
161 | wxCOMPILE_TIME_ASSERT( sizeof(int) == 4, IntMustBeExactly4Bytes);
| ^
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/types.h:162:30: error: expected constructor, destructor, or type conversion before ‘(’ token
162 | wxCOMPILE_TIME_ASSERT( sizeof(size_t) == 4, SizeTMustBeExactly4Bytes);
| ^
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/types.h:163:30: error: expected constructor, destructor, or type conversion before ‘(’ token
163 | wxCOMPILE_TIME_ASSERT( sizeof(void *) == 4, PtrMustBeExactly4Bytes);
| ^
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/types.h:180:34: error: expected constructor, destructor, or type conversion before ‘(’ token
180 | wxCOMPILE_TIME_ASSERT( sizeof(wchar_t) == 2,
| ^
In file included from /home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/string.h:31,
from /home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/memory.h:15,
from /home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/object.h:19,
from /home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/event.h:16,
from /home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/window.h:18,
from /home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/nonownedwnd.h:14,
from /home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/toplevel.h:20,
from /home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/frame.h:18,
from /home/benedict/projects/toy-processor-2/include/gui/ui.hpp:14,
from /home/benedict/projects/toy-processor-2/src/gui/ui.cpp:1:
/usr/include/stdio.h:77:19: error: conflicting declaration ‘typedef __ssize_t ssize_t’
77 | typedef __ssize_t ssize_t;
| ^~~~~~~
In file included from /home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/defs.h:933,
from /home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/event.h:14,
from /home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/window.h:18,
from /home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/nonownedwnd.h:14,
from /home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/toplevel.h:20,
from /home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/frame.h:18,
from /home/benedict/projects/toy-processor-2/include/gui/ui.hpp:14,
from /home/benedict/projects/toy-processor-2/src/gui/ui.cpp:1:
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/types.h:332:25: note: previous declaration as ‘typedef wxInt32 ssize_t’
332 | typedef wxInt32 ssize_t;
| ^~~~~~~
In file included from /home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/string.h:36,
from /home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/memory.h:15,
from /home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/object.h:19,
from /home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/event.h:16,
from /home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/window.h:18,
from /home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/nonownedwnd.h:14,
from /home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/toplevel.h:20,
from /home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/frame.h:18,
from /home/benedict/projects/toy-processor-2/include/gui/ui.hpp:14,
from /home/benedict/projects/toy-processor-2/src/gui/ui.cpp:1:
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h: In function ‘wchar_t* wxStrcpy(wchar_t*, const wchar_t*)’:
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrtbase.h:111:26: error: ‘wcscpy’ was not declared in this scope
111 | #define wxCRT_StrcpyW wcscpy
| ^~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h:215:14: note: in expansion of macro ‘wxCRT_StrcpyW’
215 | { return wxCRT_StrcpyW(dest, src); }
| ^~~~~~~~~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h: In function ‘wchar_t* wxStrcpy(wchar_t*, const wxString&)’:
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrtbase.h:111:26: error: ‘wcscpy’ was not declared in this scope
111 | #define wxCRT_StrcpyW wcscpy
| ^~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h:225:14: note: in expansion of macro ‘wxCRT_StrcpyW’
225 | { return wxCRT_StrcpyW(dest, src.wc_str()); }
| ^~~~~~~~~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h: In function ‘wchar_t* wxStrcpy(wchar_t*, const wxCStrData&)’:
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrtbase.h:111:26: error: ‘wcscpy’ was not declared in this scope
111 | #define wxCRT_StrcpyW wcscpy
| ^~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h:227:14: note: in expansion of macro ‘wxCRT_StrcpyW’
227 | { return wxCRT_StrcpyW(dest, src.AsWCharBuf()); }
| ^~~~~~~~~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h: In function ‘wchar_t* wxStrcpy(wchar_t*, const wxScopedWCharBuffer&)’:
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrtbase.h:111:26: error: ‘wcscpy’ was not declared in this scope
111 | #define wxCRT_StrcpyW wcscpy
| ^~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h:229:14: note: in expansion of macro ‘wxCRT_StrcpyW’
229 | { return wxCRT_StrcpyW(dest, src.data()); }
| ^~~~~~~~~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h: In function ‘wchar_t* wxStrcpy(wchar_t*, const char*)’:
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrtbase.h:111:26: error: ‘wcscpy’ was not declared in this scope
111 | #define wxCRT_StrcpyW wcscpy
| ^~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h:234:14: note: in expansion of macro ‘wxCRT_StrcpyW’
234 | { return wxCRT_StrcpyW(dest, wxConvLibc.cMB2WC(src)); }
| ^~~~~~~~~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h: In function ‘wchar_t* wxStrncpy(wchar_t*, const wchar_t*, size_t)’:
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrtbase.h:115:26: error: ‘wcsncpy’ was not declared in this scope
115 | #define wxCRT_StrncpyW wcsncpy
| ^~~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h:240:14: note: in expansion of macro ‘wxCRT_StrncpyW’
240 | { return wxCRT_StrncpyW(dest, src, n); }
| ^~~~~~~~~~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h: In function ‘wchar_t* wxStrncpy(wchar_t*, const wxString&, size_t)’:
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrtbase.h:115:26: error: ‘wcsncpy’ was not declared in this scope
115 | #define wxCRT_StrncpyW wcsncpy
| ^~~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h:250:14: note: in expansion of macro ‘wxCRT_StrncpyW’
250 | { return wxCRT_StrncpyW(dest, src.wc_str(), n); }
| ^~~~~~~~~~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h: In function ‘wchar_t* wxStrncpy(wchar_t*, const wxCStrData&, size_t)’:
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrtbase.h:115:26: error: ‘wcsncpy’ was not declared in this scope
115 | #define wxCRT_StrncpyW wcsncpy
| ^~~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h:252:14: note: in expansion of macro ‘wxCRT_StrncpyW’
252 | { return wxCRT_StrncpyW(dest, src.AsWCharBuf(), n); }
| ^~~~~~~~~~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h: In function ‘wchar_t* wxStrncpy(wchar_t*, const wxScopedWCharBuffer&, size_t)’:
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrtbase.h:115:26: error: ‘wcsncpy’ was not declared in this scope
115 | #define wxCRT_StrncpyW wcsncpy
| ^~~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h:254:14: note: in expansion of macro ‘wxCRT_StrncpyW’
254 | { return wxCRT_StrncpyW(dest, src.data(), n); }
| ^~~~~~~~~~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h: In function ‘wchar_t* wxStrncpy(wchar_t*, const char*, size_t)’:
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrtbase.h:115:26: error: ‘wcsncpy’ was not declared in this scope
115 | #define wxCRT_StrncpyW wcsncpy
| ^~~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h:259:14: note: in expansion of macro ‘wxCRT_StrncpyW’
259 | { return wxCRT_StrncpyW(dest, wxConvLibc.cMB2WC(src), n); }
| ^~~~~~~~~~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h: In function ‘wchar_t* wxStrcat(wchar_t*, const wchar_t*)’:
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrtbase.h:108:26: error: ‘wcscat’ was not declared in this scope
108 | #define wxCRT_StrcatW wcscat
| ^~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h:295:14: note: in expansion of macro ‘wxCRT_StrcatW’
295 | { return wxCRT_StrcatW(dest, src); }
| ^~~~~~~~~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h: In function ‘wchar_t* wxStrcat(wchar_t*, const wxString&)’:
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrtbase.h:108:26: error: ‘wcscat’ was not declared in this scope
108 | #define wxCRT_StrcatW wcscat
| ^~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h:305:14: note: in expansion of macro ‘wxCRT_StrcatW’
305 | { return wxCRT_StrcatW(dest, src.wc_str()); }
| ^~~~~~~~~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h: In function ‘wchar_t* wxStrcat(wchar_t*, const wxCStrData&)’:
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrtbase.h:108:26: error: ‘wcscat’ was not declared in this scope
108 | #define wxCRT_StrcatW wcscat
| ^~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h:307:14: note: in expansion of macro ‘wxCRT_StrcatW’
307 | { return wxCRT_StrcatW(dest, src.AsWCharBuf()); }
| ^~~~~~~~~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h: In function ‘wchar_t* wxStrcat(wchar_t*, const wxScopedWCharBuffer&)’:
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrtbase.h:108:26: error: ‘wcscat’ was not declared in this scope
108 | #define wxCRT_StrcatW wcscat
| ^~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h:309:14: note: in expansion of macro ‘wxCRT_StrcatW’
309 | { return wxCRT_StrcatW(dest, src.data()); }
| ^~~~~~~~~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h: In function ‘wchar_t* wxStrcat(wchar_t*, const char*)’:
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrtbase.h:108:26: error: ‘wcscat’ was not declared in this scope
108 | #define wxCRT_StrcatW wcscat
| ^~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h:314:14: note: in expansion of macro ‘wxCRT_StrcatW’
314 | { return wxCRT_StrcatW(dest, wxConvLibc.cMB2WC(src)); }
| ^~~~~~~~~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h: In function ‘wchar_t* wxStrncat(wchar_t*, const wchar_t*, size_t)’:
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrtbase.h:113:26: error: ‘wcsncat’ was not declared in this scope
113 | #define wxCRT_StrncatW wcsncat
| ^~~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h:320:14: note: in expansion of macro ‘wxCRT_StrncatW’
320 | { return wxCRT_StrncatW(dest, src, n); }
| ^~~~~~~~~~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h: In function ‘wchar_t* wxStrncat(wchar_t*, const wxString&, size_t)’:
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrtbase.h:113:26: error: ‘wcsncat’ was not declared in this scope
113 | #define wxCRT_StrncatW wcsncat
| ^~~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h:330:14: note: in expansion of macro ‘wxCRT_StrncatW’
330 | { return wxCRT_StrncatW(dest, src.wc_str(), n); }
| ^~~~~~~~~~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h: In function ‘wchar_t* wxStrncat(wchar_t*, const wxCStrData&, size_t)’:
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrtbase.h:113:26: error: ‘wcsncat’ was not declared in this scope
113 | #define wxCRT_StrncatW wcsncat
| ^~~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h:332:14: note: in expansion of macro ‘wxCRT_StrncatW’
332 | { return wxCRT_StrncatW(dest, src.AsWCharBuf(), n); }
| ^~~~~~~~~~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h: In function ‘wchar_t* wxStrncat(wchar_t*, const wxScopedWCharBuffer&, size_t)’:
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrtbase.h:113:26: error: ‘wcsncat’ was not declared in this scope
113 | #define wxCRT_StrncatW wcsncat
| ^~~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h:334:14: note: in expansion of macro ‘wxCRT_StrncatW’
334 | { return wxCRT_StrncatW(dest, src.data(), n); }
| ^~~~~~~~~~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h: In function ‘wchar_t* wxStrncat(wchar_t*, const char*, size_t)’:
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrtbase.h:113:26: error: ‘wcsncat’ was not declared in this scope
113 | #define wxCRT_StrncatW wcsncat
| ^~~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h:339:14: note: in expansion of macro ‘wxCRT_StrncatW’
339 | { return wxCRT_StrncatW(dest, wxConvLibc.cMB2WC(src), n); }
| ^~~~~~~~~~~~~~
In file included from /home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/hashmap.h:15,
from /home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/clntdata.h:16,
from /home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/event.h:17,
from /home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/window.h:18,
from /home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/nonownedwnd.h:14,
from /home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/toplevel.h:20,
from /home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/frame.h:18,
from /home/benedict/projects/toy-processor-2/include/gui/ui.hpp:14,
from /home/benedict/projects/toy-processor-2/src/gui/ui.cpp:1:
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h: In function ‘int wxStrcmp(const wchar_t*, const wchar_t*)’:
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrtbase.h:110:26: error: ‘wcscmp’ was not declared in this scope
110 | #define wxCRT_StrcmpW wcscmp
| ^~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h:344:36: note: in definition of macro ‘WX_STR_CALL’
344 | #define WX_STR_CALL(func, a1, a2) func(a1, a2)
| ^~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h:462:5: note: in expansion of macro ‘WX_STR_FUNC_NO_INVERT’
462 | WX_STR_FUNC_NO_INVERT(int, name, crtA, crtW, forString) \
| ^~~~~~~~~~~~~~~~~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h:543:1: note: in expansion of macro ‘WX_STRCMP_FUNC’
543 | WX_STRCMP_FUNC(wxStrcmp, wxCRT_StrcmpA, wxCRT_StrcmpW, wxStrcmp_String)
| ^~~~~~~~~~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h:543:41: note: in expansion of macro ‘wxCRT_StrcmpW’
543 | WX_STRCMP_FUNC(wxStrcmp, wxCRT_StrcmpA, wxCRT_StrcmpW, wxStrcmp_String)
| ^~~~~~~~~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h: In function ‘int wxStrcmp(const wchar_t*, const wxScopedWCharBuffer&)’:
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrtbase.h:110:26: error: ‘wcscmp’ was not declared in this scope
110 | #define wxCRT_StrcmpW wcscmp
| ^~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h:344:36: note: in definition of macro ‘WX_STR_CALL’
344 | #define WX_STR_CALL(func, a1, a2) func(a1, a2)
| ^~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h:462:5: note: in expansion of macro ‘WX_STR_FUNC_NO_INVERT’
462 | WX_STR_FUNC_NO_INVERT(int, name, crtA, crtW, forString) \
| ^~~~~~~~~~~~~~~~~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h:543:1: note: in expansion of macro ‘WX_STRCMP_FUNC’
543 | WX_STRCMP_FUNC(wxStrcmp, wxCRT_StrcmpA, wxCRT_StrcmpW, wxStrcmp_String)
| ^~~~~~~~~~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h:543:41: note: in expansion of macro ‘wxCRT_StrcmpW’
543 | WX_STRCMP_FUNC(wxStrcmp, wxCRT_StrcmpA, wxCRT_StrcmpW, wxStrcmp_String)
| ^~~~~~~~~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h: In function ‘int wxStrcmp(const wxScopedWCharBuffer&, const wchar_t*)’:
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrtbase.h:110:26: error: ‘wcscmp’ was not declared in this scope
110 | #define wxCRT_StrcmpW wcscmp
| ^~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h:344:36: note: in definition of macro ‘WX_STR_CALL’
344 | #define WX_STR_CALL(func, a1, a2) func(a1, a2)
| ^~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h:462:5: note: in expansion of macro ‘WX_STR_FUNC_NO_INVERT’
462 | WX_STR_FUNC_NO_INVERT(int, name, crtA, crtW, forString) \
| ^~~~~~~~~~~~~~~~~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h:543:1: note: in expansion of macro ‘WX_STRCMP_FUNC’
543 | WX_STRCMP_FUNC(wxStrcmp, wxCRT_StrcmpA, wxCRT_StrcmpW, wxStrcmp_String)
| ^~~~~~~~~~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h:543:41: note: in expansion of macro ‘wxCRT_StrcmpW’
543 | WX_STRCMP_FUNC(wxStrcmp, wxCRT_StrcmpA, wxCRT_StrcmpW, wxStrcmp_String)
| ^~~~~~~~~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h: In function ‘int wxStrcmp(const wxScopedWCharBuffer&, const wxScopedWCharBuffer&)’:
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrtbase.h:110:26: error: ‘wcscmp’ was not declared in this scope
110 | #define wxCRT_StrcmpW wcscmp
| ^~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h:344:36: note: in definition of macro ‘WX_STR_CALL’
344 | #define WX_STR_CALL(func, a1, a2) func(a1, a2)
| ^~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h:462:5: note: in expansion of macro ‘WX_STR_FUNC_NO_INVERT’
462 | WX_STR_FUNC_NO_INVERT(int, name, crtA, crtW, forString) \
| ^~~~~~~~~~~~~~~~~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h:543:1: note: in expansion of macro ‘WX_STRCMP_FUNC’
543 | WX_STRCMP_FUNC(wxStrcmp, wxCRT_StrcmpA, wxCRT_StrcmpW, wxStrcmp_String)
| ^~~~~~~~~~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h:543:41: note: in expansion of macro ‘wxCRT_StrcmpW’
543 | WX_STRCMP_FUNC(wxStrcmp, wxCRT_StrcmpA, wxCRT_StrcmpW, wxStrcmp_String)
| ^~~~~~~~~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h: In function ‘int wxStrcoll(const wchar_t*, const wchar_t*)’:
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrtbase.h:124:26: error: ‘wcscoll’ was not declared in this scope
124 | #define wxCRT_StrcollW wcscoll
| ^~~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h:344:36: note: in definition of macro ‘WX_STR_CALL’
344 | #define WX_STR_CALL(func, a1, a2) func(a1, a2)
| ^~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h:462:5: note: in expansion of macro ‘WX_STR_FUNC_NO_INVERT’
462 | WX_STR_FUNC_NO_INVERT(int, name, crtA, crtW, forString) \
| ^~~~~~~~~~~~~~~~~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h:554:1: note: in expansion of macro ‘WX_STRCMP_FUNC’
554 | WX_STRCMP_FUNC(wxStrcoll, wxCRT_StrcollA, wxCRT_StrcollW, wxStrcoll_String)
| ^~~~~~~~~~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h:554:43: note: in expansion of macro ‘wxCRT_StrcollW’
554 | WX_STRCMP_FUNC(wxStrcoll, wxCRT_StrcollA, wxCRT_StrcollW, wxStrcoll_String)
| ^~~~~~~~~~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h: In function ‘int wxStrcoll(const wchar_t*, const wxScopedWCharBuffer&)’:
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrtbase.h:124:26: error: ‘wcscoll’ was not declared in this scope
124 | #define wxCRT_StrcollW wcscoll
| ^~~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h:344:36: note: in definition of macro ‘WX_STR_CALL’
344 | #define WX_STR_CALL(func, a1, a2) func(a1, a2)
| ^~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h:462:5: note: in expansion of macro ‘WX_STR_FUNC_NO_INVERT’
462 | WX_STR_FUNC_NO_INVERT(int, name, crtA, crtW, forString) \
| ^~~~~~~~~~~~~~~~~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h:554:1: note: in expansion of macro ‘WX_STRCMP_FUNC’
554 | WX_STRCMP_FUNC(wxStrcoll, wxCRT_StrcollA, wxCRT_StrcollW, wxStrcoll_String)
| ^~~~~~~~~~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h:554:43: note: in expansion of macro ‘wxCRT_StrcollW’
554 | WX_STRCMP_FUNC(wxStrcoll, wxCRT_StrcollA, wxCRT_StrcollW, wxStrcoll_String)
| ^~~~~~~~~~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h: In function ‘int wxStrcoll(const wxScopedWCharBuffer&, const wchar_t*)’:
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrtbase.h:124:26: error: ‘wcscoll’ was not declared in this scope
124 | #define wxCRT_StrcollW wcscoll
| ^~~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h:344:36: note: in definition of macro ‘WX_STR_CALL’
344 | #define WX_STR_CALL(func, a1, a2) func(a1, a2)
| ^~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h:462:5: note: in expansion of macro ‘WX_STR_FUNC_NO_INVERT’
462 | WX_STR_FUNC_NO_INVERT(int, name, crtA, crtW, forString) \
| ^~~~~~~~~~~~~~~~~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h:554:1: note: in expansion of macro ‘WX_STRCMP_FUNC’
554 | WX_STRCMP_FUNC(wxStrcoll, wxCRT_StrcollA, wxCRT_StrcollW, wxStrcoll_String)
| ^~~~~~~~~~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h:554:43: note: in expansion of macro ‘wxCRT_StrcollW’
554 | WX_STRCMP_FUNC(wxStrcoll, wxCRT_StrcollA, wxCRT_StrcollW, wxStrcoll_String)
| ^~~~~~~~~~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h: In function ‘int wxStrcoll(const wxScopedWCharBuffer&, const wxScopedWCharBuffer&)’:
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrtbase.h:124:26: error: ‘wcscoll’ was not declared in this scope
124 | #define wxCRT_StrcollW wcscoll
| ^~~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h:344:36: note: in definition of macro ‘WX_STR_CALL’
344 | #define WX_STR_CALL(func, a1, a2) func(a1, a2)
| ^~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h:462:5: note: in expansion of macro ‘WX_STR_FUNC_NO_INVERT’
462 | WX_STR_FUNC_NO_INVERT(int, name, crtA, crtW, forString) \
| ^~~~~~~~~~~~~~~~~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h:554:1: note: in expansion of macro ‘WX_STRCMP_FUNC’
554 | WX_STRCMP_FUNC(wxStrcoll, wxCRT_StrcollA, wxCRT_StrcollW, wxStrcoll_String)
| ^~~~~~~~~~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h:554:43: note: in expansion of macro ‘wxCRT_StrcollW’
554 | WX_STRCMP_FUNC(wxStrcoll, wxCRT_StrcollA, wxCRT_StrcollW, wxStrcoll_String)
| ^~~~~~~~~~~~~~
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrt.h: In function ‘size_t wxStrspn(const wchar_t*, const wchar_t*)’:
/home/benedict/projects/toy-processor-2/libs/wxWidgets-3.1.6/include/wx/wxcrtbase.h:118:26: error: ‘wcsspn’ was not declared in this scope
118 | #define wxCRT_StrspnW wcsspn
| ^~~~~~
Do you know where I messed up here?
Thanks in advance and I'm very sorry for my bad English.