Trouble Getting 64-bit Configuration Working
Posted: Fri Jun 08, 2018 11:12 pm
I am having a tough time trying to get a new 64-bit configuration of a simple CodeLite/wxWidgets/MinGW-64 Windows GUI program up and running. Here is a sample of one of the build logs I've been generating.
Here is what I've done so far. I am running Windows 10, 64 bits. I loosely based my steps on what I read in https://wiki.wxwidgets.org/Getting_Star ... _wxWidgets. I say "loosely," because the web site assumes the user is using Visual C++.
A. Loaded the 64-bit version of MinGW.
1. Renamed the directory containing my original 32-bit version of MinGW: ren C:\MinGW32 C:\MinGW-32-do not use
2. Downloaded MinGW-64 from https://sourceforge.net/projects/mingw-w64/. Installed it into C:\MinGW-w64.
B. Loaded a clean version of wxWidgets onto my Computer and Compiled it.
1. Renamed the directory containing my original 32-bit compiled versions of wxWidgets: ren C:\wxWidgets C:\wxWidgets--32-do not use
2. Downloaded wxWidgets v3.1.1 from https://www.wxwidgets.org/downloads/. Installed it into C:\wxWidgets.
3. Compiled the wxWidgets. As Administrator, I opened a DOS shell. Navigated to C:\MinGW-w64. Ran the only batch file there, which was build_release_only.bat. It was hard to tell if it stopped because of an error, or because it was done (normally). The last few lines executed were these:
4. Made a copy of build_release_only.bat and called it build_debug_only.bat. Edited it and globally changed all occurrences of "release" to "debug." Closed build_debug_only.bat.
5. Still in the DOS window as Administrator, I ran build_debug_only.bat. Again, it was hard to tell if it stopped because of a problem, or because it ended normally. The last few lines were:
C. Loaded a new version of CodeLite onto my Computer.
1. Uninstalled my original version of CodeLite, keeping my current settings.
2. Downloaded CodeLite v12.0.3 from https://downloads.codelite.org/. Installed it into C:\CodeLite.
D. Updated my system variables.
1. Opened Control Panel, navigated to the Environment Variables page, and--
a. Changed my path. Removed the original references to C:\MinGW. Added these directories to the path:
C:\MinGW-w64\mingw32\bin;
C:\MinGW-w64\mingw32\lib\gcc\i686-w64-mingw32\8.1.0\include\c++;
C:\MinGW-w64\mingw32\lib\gcc\i686-w64-mingw32\8.1.0\include\c++\i686-w64-mingw32;
C:\wxWidgets\include;
b. Added the following environment variables:
CodeLiteDir=C:\CodeLite
WXCFG=gcc_dll\mswud
WXWIN=C:\wxWidgets
2. Closed the Environment Variables page and bubbled out of Control Panel.
E. Rebooted my computer.
F. Navigated to an existing CodeLite workspace containing just one simple project, which was an early "Hello World" type of program. Loaded it into CodeLite.
Because I think a picture is worth 1,000 words, I've taken screen shots of the windows I thought might be the most helpful in debugging the problems I'm facing. So here are the relevant pictures.
I did not load the environment variables in CodeLite, because I thought they only needed to be in ONE place (not all): a) in the Windows environment (the way I did); b) In Project Settings, Environment; or c) Settings, Environment Variables.
G. Clicked Build, Clean Workspace. Got the "wxcfg" errors at the beginning of the post.
Suggestions? What do I need to do to resolve the wxcfg problem?
Thank you!
Colleen
Code: Select all
C:\Windows\system32\cmd.exe /C C:/MinGW-w64/mingw32/bin/mingw32-make.exe -e -f Makefile clean
"----------Cleaning project:[ Main - Debug ]----------"
mingw32-make.exe[1]: Entering directory 'F:/Prototypes_wxw/CreateFile_Tests/Main'
Please use the --wxcfg flag (as in wx-config --wxcfg=gcc_dll/mswud)
or set the environment variable WXCFG (as in WXCFG=gcc_dll/mswud)
to specify which configuration exactly you want to use.
Please use the --wxcfg flag (as in wx-config --wxcfg=gcc_dll/mswud)
or set the environment variable WXCFG (as in WXCFG=gcc_dll/mswud)
to specify which configuration exactly you want to use.
Please use the --wxcfg flag (as in wx-config --wxcfg=gcc_dll/mswud)
or set the environment variable WXCFG (as in WXCFG=gcc_dll/mswud)
to specify which configuration exactly you want to use.
rm -f -r ./Debug/
mingw32-make.exe[1]: Leaving directory 'F:/Prototypes_wxw/CreateFile_Tests/Main'
====0 errors, 0 warnings====
A. Loaded the 64-bit version of MinGW.
1. Renamed the directory containing my original 32-bit version of MinGW: ren C:\MinGW32 C:\MinGW-32-do not use
2. Downloaded MinGW-64 from https://sourceforge.net/projects/mingw-w64/. Installed it into C:\MinGW-w64.
B. Loaded a clean version of wxWidgets onto my Computer and Compiled it.
1. Renamed the directory containing my original 32-bit compiled versions of wxWidgets: ren C:\wxWidgets C:\wxWidgets--32-do not use
2. Downloaded wxWidgets v3.1.1 from https://www.wxwidgets.org/downloads/. Installed it into C:\wxWidgets.
3. Compiled the wxWidgets. As Administrator, I opened a DOS shell. Navigated to C:\MinGW-w64. Ran the only batch file there, which was build_release_only.bat. It was hard to tell if it stopped because of an error, or because it was done (normally). The last few lines executed were these:
Code: Select all
..\..\include/wx/module.h:21:1: note: in expansion of macro 'WX_DECLARE_USER_EXPORTED_LIST'
WX_DECLARE_USER_EXPORTED_LIST(wxModule, wxModuleList, WXDLLIMPEXP_BASE);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
..\..\include/wx/module.h: In member function 'wxModule* const& wxModuleList::const_reverse_iterator::operator*() const':
..\..\include/wx/list.h:926:60: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers]
{ return *(pointer_type)m_node->GetDataPtr(); } \
^
..\..\include/wx/list.h:1071:5: note: in expansion of macro 'WX_DECLARE_LIST_4'
WX_DECLARE_LIST_4(T, Tbase, name, nodetype, classexp, WX_LIST_PTROP_NONE)
^~~~~~~~~~~~~~~~~
..\..\include/wx/list.h:1076:5: note: in expansion of macro 'WX_DECLARE_LIST_3'
WX_DECLARE_LIST_3(elementtype, elementtype, listname, nodename, classexp)
^~~~~~~~~~~~~~~~~
..\..\include/wx/list.h:1100:5: note: in expansion of macro 'WX_DECLARE_LIST_2'
WX_DECLARE_LIST_2(elementtype, listname, wx##listname##Node, class usergoo)
^~~~~~~~~~~~~~~~~
..\..\include/wx/module.h:21:1: note: in expansion of macro 'WX_DECLARE_USER_EXPORTED_LIST'
WX_DECLARE_USER_EXPORTED_LIST(wxModule, wxModuleList, WXDLLIMPEXP_BASE);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mingw32-make: *** [Makefile.gcc:11759: gcc_mswudll\basedll_dynload.o] Error 1
C:\wxWidgets\build\msw>
5. Still in the DOS window as Administrator, I ran build_debug_only.bat. Again, it was hard to tell if it stopped because of a problem, or because it ended normally. The last few lines were:
Code: Select all
..\..\include/wx/module.h: In member function 'wxModule* const& wxModuleList::const_iterator::operator*() const':
..\..\include/wx/list.h:834:60: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers]
{ return *(pointer_type)m_node->GetDataPtr(); } \
^
..\..\include/wx/list.h:1071:5: note: in expansion of macro 'WX_DECLARE_LIST_4'
WX_DECLARE_LIST_4(T, Tbase, name, nodetype, classexp, WX_LIST_PTROP_NONE)
^~~~~~~~~~~~~~~~~
..\..\include/wx/list.h:1076:5: note: in expansion of macro 'WX_DECLARE_LIST_3'
WX_DECLARE_LIST_3(elementtype, elementtype, listname, nodename, classexp)
^~~~~~~~~~~~~~~~~
..\..\include/wx/list.h:1100:5: note: in expansion of macro 'WX_DECLARE_LIST_2'
WX_DECLARE_LIST_2(elementtype, listname, wx##listname##Node, class usergoo)
^~~~~~~~~~~~~~~~~
..\..\include/wx/module.h:21:1: note: in expansion of macro 'WX_DECLARE_USER_EXPORTED_LIST'
WX_DECLARE_USER_EXPORTED_LIST(wxModule, wxModuleList, WXDLLIMPEXP_BASE);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
..\..\include/wx/module.h: In member function 'wxModule* const& wxModuleList::const_reverse_iterator::operator*() const':
..\..\include/wx/list.h:926:60: warning: type qualifiers ignored on cast result type [-Wignored-qualifiers]
{ return *(pointer_type)m_node->GetDataPtr(); } \
^
..\..\include/wx/list.h:1071:5: note: in expansion of macro 'WX_DECLARE_LIST_4'
WX_DECLARE_LIST_4(T, Tbase, name, nodetype, classexp, WX_LIST_PTROP_NONE)
^~~~~~~~~~~~~~~~~
..\..\include/wx/list.h:1076:5: note: in expansion of macro 'WX_DECLARE_LIST_3'
WX_DECLARE_LIST_3(elementtype, elementtype, listname, nodename, classexp)
^~~~~~~~~~~~~~~~~
..\..\include/wx/list.h:1100:5: note: in expansion of macro 'WX_DECLARE_LIST_2'
WX_DECLARE_LIST_2(elementtype, listname, wx##listname##Node, class usergoo)
^~~~~~~~~~~~~~~~~
..\..\include/wx/module.h:21:1: note: in expansion of macro 'WX_DECLARE_USER_EXPORTED_LIST'
WX_DECLARE_USER_EXPORTED_LIST(wxModule, wxModuleList, WXDLLIMPEXP_BASE);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mingw32-make: *** [Makefile.gcc:11759: gcc_mswuddll\basedll_dynload.o] Error 1
C:\wxWidgets\build\msw>
1. Uninstalled my original version of CodeLite, keeping my current settings.
2. Downloaded CodeLite v12.0.3 from https://downloads.codelite.org/. Installed it into C:\CodeLite.
D. Updated my system variables.
1. Opened Control Panel, navigated to the Environment Variables page, and--
a. Changed my path. Removed the original references to C:\MinGW. Added these directories to the path:
C:\MinGW-w64\mingw32\bin;
C:\MinGW-w64\mingw32\lib\gcc\i686-w64-mingw32\8.1.0\include\c++;
C:\MinGW-w64\mingw32\lib\gcc\i686-w64-mingw32\8.1.0\include\c++\i686-w64-mingw32;
C:\wxWidgets\include;
b. Added the following environment variables:
CodeLiteDir=C:\CodeLite
WXCFG=gcc_dll\mswud
WXWIN=C:\wxWidgets
2. Closed the Environment Variables page and bubbled out of Control Panel.
E. Rebooted my computer.
F. Navigated to an existing CodeLite workspace containing just one simple project, which was an early "Hello World" type of program. Loaded it into CodeLite.
Because I think a picture is worth 1,000 words, I've taken screen shots of the windows I thought might be the most helpful in debugging the problems I'm facing. So here are the relevant pictures.
I did not load the environment variables in CodeLite, because I thought they only needed to be in ONE place (not all): a) in the Windows environment (the way I did); b) In Project Settings, Environment; or c) Settings, Environment Variables.
G. Clicked Build, Clean Workspace. Got the "wxcfg" errors at the beginning of the post.
Suggestions? What do I need to do to resolve the wxcfg problem?
Thank you!
Colleen