1. Building wxEuphoria with 2.9
- Posted by ghaberek (admin) Dec 13, 2011
- 2275 views
Matt,
I've started playing around with the wx2.9 branch. I finally got wxWidgets 2.9.2 built (which took forever on my laptop). And now I'm trying to build wxEuphoria but immediately I'm getting this error. I'm using MinGW to build on Windows XP. What happen? Did I do something wrong?
$ ./configure ../wxWidgets-2.9.2 $ make g++ -c -o build/wxeu.o -D__WXMSW__ -I. -I./../wxWidgets-2.9.2/lib/wx/include/msw-unicode-release-2.8 -I./../wxWidgets-2.9.2/include -DWXEUMSW -DWX_MAJOR=2 -DWX_MINOR=9 -DWX_BUGFIX= -DWX_LIB_BUILD=17 -fPIC wxeu.cpp wxeu.cpp:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] wxeu.cpp:6:22: fatal error: wx/setup.h: No such file or directory compilation terminated. make: *** [build/wxeu.o] Error 1
Here's my directory layout:
- C:\EUPHORIA\wxEuphoria\wx2.9
- C:\EUPHORIA\wxEuphoria\wxWidgets-2.9.2
-Greg
2. Re: Building wxEuphoria with 2.9
- Posted by ghaberek (admin) Dec 13, 2011
- 2249 views
Well setup.h is definitely not in the include/wx folder. I have these, but not setup.h.
- setup_gccxml.h
- setup_inc.h
- setup_redirect.h
-Greg
3. Re: Building wxEuphoria with 2.9
- Posted by mattlewis (admin) Dec 14, 2011
- 2205 views
Matt,
I've started playing around with the wx2.9 branch. I finally got wxWidgets 2.9.2 built (which took forever on my laptop). And now I'm trying to build wxEuphoria but immediately I'm getting this error. I'm using MinGW to build on Windows XP. What happen? Did I do something wrong?
$ ./configure ../wxWidgets-2.9.2 $ make g++ -c -o build/wxeu.o -D__WXMSW__ -I. -I./../wxWidgets-2.9.2/lib/wx/include/msw-unicode-release-2.8 -I./../wxWidgets-2.9.2/include -DWXEUMSW -DWX_MAJOR=2 -DWX_MINOR=9 -DWX_BUGFIX= -DWX_LIB_BUILD=17 -fPIC wxeu.cpp wxeu.cpp:1:0: warning: -fPIC ignored for target (all code is position independent) [enabled by default] wxeu.cpp:6:22: fatal error: wx/setup.h: No such file or directory compilation terminated. make: *** [build/wxeu.o] Error 1
Here's my directory layout:
- C:\EUPHORIA\wxEuphoria\wx2.9
- C:\EUPHORIA\wxEuphoria\wxWidgets-2.9.2
The setup.h file should be in wxWidgets-2.9.2/lib/wx/include/msw-unicode-release-2.8/wx. I haven't tried building under msys. I've only done cross compiles of 2.9 so far, and before building wxEuphoria, I installed wxWidgets (under /usr/x86_64-w64-mingw32 and /usr/i686-w64-mingw32).
You might try an absolute path instead of a relative path to wxWidgets.
Matt
4. Re: Building wxEuphoria with 2.9
- Posted by ghaberek (admin) Dec 14, 2011
- 2099 views
The setup.h file should be in wxWidgets-2.9.2/lib/wx/include/msw-unicode-release-2.8/wx.
I looks like I have wxWidgets-2.9.2/lib/wx/include/msw-unicode-2.9 instead. Updating CXXFLAGS in Makefile.mingw to match seems to have done the trick!
(well, it's compiling... we'll see)
I haven't tried building under msys.
Yay! I'm a guinea pig!
-Greg
5. Re: Building wxEuphoria with 2.9
- Posted by ghaberek (admin) Dec 14, 2011
- 2168 views
D'oh!
g++ -shared -o build/libwxeu.2.9.dll ./build/be.o ./build/wxeu.o ./build/wxEuphoria.o ./build/wxAui.o ./build/wxButton.o ./build/wxCalendar.o ./build/wxCaret.o ./build/wxCheckBox.o ./build/wxConfig.o ./build/wxCollapsiblePane.o ./build/wxData.o ./build/wxDialog.o ./build/wxDir.o ./build/wxDisplay.o ./build/wxEvent.o ./build/wxFile.o ./build/wxFileDialog.o ./build/wxGauge.o ./build/wxGraphics.o ./build/wxGrid.o ./build/wxHtml.o ./build/wxList.o ./build/wxLocale.o ./build/wxMDI.o ./build/wxMedia.o ./build/wxMenu.o ./build/wxNet.o ./build/wxNotebook.o ./build/wxPGProperty.o ./build/wxPropertyGrid.o ./build/wxPicker.o ./build/wxPlatform.o ./build/wxPrint.o ./build/wxProcess.o ./build/wxRegEx.o ./build/wxRichText.o ./build/wxScrollBar.o ./build/wxSizer.o ./build/wxSplashScreen.o ./build/wxSprin t.o ./build/wxStatic.o ./build/wxStatusBar.o ./build/wxTaskBarIcon.o ./build/wxText.o ./build/wxTimer.o ./build/wxToolBar.o ./build/wxTree.o ./build/wxXml.o ./build/wxXmlResource.o ./build/wxWizard.o --enable-auto-import --export-all-symbols ./../wxWidgets-2.9.2/lib/libwxexpat-2.8.a ./../wxWidgets-2.9.2/lib/libwxjpeg-2.8.a ./../wxWidgets-2.9.2/lib/libwxpng-2.8.a ./../wxWidgets-2.9.2/lib/libwxregexu-2.8.a ./../wxWidgets-2.9.2/lib/libwxtiff-2.8.a ./../wxWidgets-2.9.2/lib/libwxzlib-2.8.a ./../wxWidgets-2.9.2/lib/libwx_baseu-2.8.dll.a ./../wxWidgets-2.9.2/lib/libwx_baseu_net-2.8.dll.a ./../wxWidgets-2.9.2/lib/libwx_baseu_xml-2.8.dll.a ./../wxWidgets-2.9.2/lib/libwx_mswu_adv-2.8.dll.a ./../wxWidgets-2.9.2/lib/libwx_mswu_aui-2.8.dll.a ./../wxWidgets-2.9.2/lib/libwx_mswu_core-2.8.dll.a ./../wxWidgets-2.9.2/lib/libwx_mswu_html-2.8.dll.a ./../wxWidgets-2.9.2/lib/libwx_mswu_qa-2.8.dll.a ./../wxWidgets-2.9.2/lib/libwx_mswu_richtext-2.8.dll.a ./../wxWidgets-2.9.2/lib/libwx_mswu_xrc-2.8.dll.a ./../wxWidgets-2.9.2/lib/libwx_mswu_media-2.8.dll.a MONOLITHIC= -lrpcrt4 -loleaut32 -lole32 -luuid -lwinspool -lwinmm -lshell32 -lcomctl32 -lcomdlg32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32 -lgdiplus -L --rpath g++.exe: error: ./../wxWidgets-2.9.2/lib/libwxexpat-2.8.a: No such file or directory g++.exe: error: ./../wxWidgets-2.9.2/lib/libwxjpeg-2.8.a: No such file or directory g++.exe: error: ./../wxWidgets-2.9.2/lib/libwxpng-2.8.a: No such file or directory g++.exe: error: ./../wxWidgets-2.9.2/lib/libwxregexu-2.8.a: No such file or directory g++.exe: error: ./../wxWidgets-2.9.2/lib/libwxtiff-2.8.a: No such file or directory g++.exe: error: ./../wxWidgets-2.9.2/lib/libwxzlib-2.8.a: No such file or directory g++.exe: error: ./../wxWidgets-2.9.2/lib/libwx_baseu-2.8.dll.a: No such file or directory g++.exe: error: ./../wxWidgets-2.9.2/lib/libwx_baseu_net-2.8.dll.a: No such file or directory g++.exe: error: ./../wxWidgets-2.9.2/lib/libwx_baseu_xml-2.8.dll.a: No such file or directory g++.exe: error: ./../wxWidgets-2.9.2/lib/libwx_mswu_adv-2.8.dll.a: No such file or directory g++.exe: error: ./../wxWidgets-2.9.2/lib/libwx_mswu_aui-2.8.dll.a: No such file or directory g++.exe: error: ./../wxWidgets-2.9.2/lib/libwx_mswu_core-2.8.dll.a: No such file or directory g++.exe: error: ./../wxWidgets-2.9.2/lib/libwx_mswu_html-2.8.dll.a: No such file or directory g++.exe: error: ./../wxWidgets-2.9.2/lib/libwx_mswu_qa-2.8.dll.a: No such file or directory g++.exe: error: ./../wxWidgets-2.9.2/lib/libwx_mswu_richtext-2.8.dll.a: No such file or directory g++.exe: error: ./../wxWidgets-2.9.2/lib/libwx_mswu_xrc-2.8.dll.a: No such file or directory g++.exe: error: ./../wxWidgets-2.9.2/lib/libwx_mswu_media-2.8.dll.a: No such file or directory g++.exe: error: MONOLITHIC=: No such file or directory g++.exe: error: unrecognized option '--enable-auto-import' g++.exe: error: unrecognized option '--export-all-symbols' make: *** [build/libwxeu.2.9.dll] Error 1
I suppose I should fix all those other "2.8" references... but what's up with the last couple errors?
-Greg
6. Re: Building wxEuphoria with 2.9
- Posted by ghaberek (admin) Dec 14, 2011
- 2125 views
I realize I keep replying to myself, but I finally go this to build completely. Here are my changes to Makefile.mingw. I renamed all the 2.8's to 2.9 and added missing libraries: gl, propgrid, ribbon, and stc (otherwise I got a bunch of ugly errors about wxPGProperty, etc.).
diff -r df01f1e524fe Makefile.mingw --- a/Makefile.mingw Sun Dec 04 17:19:03 2011 -0500 +++ b/Makefile.mingw Wed Dec 14 22:41:31 2011 -0500 @@ -9,42 +9,45 @@ endif WXPREFIX=$(PREFIX) -CXXFLAGS = -I./$(PREFIX)/lib/wx/include/$(HOSTDIR)msw-unicode-release-2.8 -I./$(PREFIX)/include -DWXEUMSW +CXXFLAGS = -I./$(PREFIX)/lib/wx/include/$(HOSTDIR)msw-unicode-2.9 -I./$(PREFIX)/include -DWXEUMSW WXEUMSW=-DWXEUMSW TOOLKIT = MSW TOOLKIT_LOWERCASE = msw ifeq "$(MONOLITHIC)" "1" -LDFLAGS = --enable-auto-import --export-all-symbols \ - ./$(PREFIX)/lib/libwxexpat-2.8$(HOSTLIB).a \ - ./$(PREFIX)/lib/libwxjpeg-2.8$(HOSTLIB).a \ - ./$(PREFIX)/lib/libwxpng-2.8$(HOSTLIB).a \ - ./$(PREFIX)/lib/libwxregexu-2.8$(HOSTLIB).a \ - ./$(PREFIX)/lib/libwxtiff-2.8$(HOSTLIB).a \ - ./$(PREFIX)/lib/libwxzlib-2.8$(HOSTLIB).a \ - ./$(PREFIX)/lib/libwx_mswu-2.8$(HOSTLIB).dll.a \ +LDFLAGS = \ + ./$(PREFIX)/lib/libwxexpat-2.9$(HOSTLIB).a \ + ./$(PREFIX)/lib/libwxjpeg-2.9$(HOSTLIB).a \ + ./$(PREFIX)/lib/libwxpng-2.9$(HOSTLIB).a \ + ./$(PREFIX)/lib/libwxregexu-2.9$(HOSTLIB).a \ + ./$(PREFIX)/lib/libwxtiff-2.9$(HOSTLIB).a \ + ./$(PREFIX)/lib/libwxzlib-2.9$(HOSTLIB).a \ + ./$(PREFIX)/lib/libwx_mswu-2.9$(HOSTLIB).dll.a \ -lrpcrt4 -loleaut32 -lole32 -luuid -lwinspool -lwinmm -lshell32 -lcomctl32 -lcomdlg32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32 -lgdiplus else -LDFLAGS = --enable-auto-import --export-all-symbols \ - ./$(PREFIX)/lib/libwxexpat-2.8$(HOSTLIB).a \ - ./$(PREFIX)/lib/libwxjpeg-2.8$(HOSTLIB).a \ - ./$(PREFIX)/lib/libwxpng-2.8$(HOSTLIB).a \ - ./$(PREFIX)/lib/libwxregexu-2.8$(HOSTLIB).a \ - ./$(PREFIX)/lib/libwxtiff-2.8$(HOSTLIB).a \ - ./$(PREFIX)/lib/libwxzlib-2.8$(HOSTLIB).a \ - ./$(PREFIX)/lib/libwx_baseu-2.8$(HOSTLIB).dll.a \ - ./$(PREFIX)/lib/libwx_baseu_net-2.8$(HOSTLIB).dll.a \ - ./$(PREFIX)/lib/libwx_baseu_xml-2.8$(HOSTLIB).dll.a \ - ./$(PREFIX)/lib/libwx_mswu_adv-2.8$(HOSTLIB).dll.a \ - ./$(PREFIX)/lib/libwx_mswu_aui-2.8$(HOSTLIB).dll.a \ - ./$(PREFIX)/lib/libwx_mswu_core-2.8$(HOSTLIB).dll.a \ - ./$(PREFIX)/lib/libwx_mswu_html-2.8$(HOSTLIB).dll.a \ - ./$(PREFIX)/lib/libwx_mswu_qa-2.8$(HOSTLIB).dll.a \ - ./$(PREFIX)/lib/libwx_mswu_richtext-2.8$(HOSTLIB).dll.a \ - ./$(PREFIX)/lib/libwx_mswu_xrc-2.8$(HOSTLIB).dll.a \ - ./$(PREFIX)/lib/libwx_mswu_media-2.8$(HOSTLIB).dll.a \ - MONOLITHIC=$(MONOLITHIC) \ +LDFLAGS = \ + ./$(PREFIX)/lib/libwxexpat-2.9$(HOSTLIB).a \ + ./$(PREFIX)/lib/libwxjpeg-2.9$(HOSTLIB).a \ + ./$(PREFIX)/lib/libwxpng-2.9$(HOSTLIB).a \ + ./$(PREFIX)/lib/libwxregexu-2.9$(HOSTLIB).a \ + ./$(PREFIX)/lib/libwxtiff-2.9$(HOSTLIB).a \ + ./$(PREFIX)/lib/libwxzlib-2.9$(HOSTLIB).a \ + ./$(PREFIX)/lib/libwx_baseu-2.9$(HOSTLIB).dll.a \ + ./$(PREFIX)/lib/libwx_baseu_net-2.9$(HOSTLIB).dll.a \ + ./$(PREFIX)/lib/libwx_baseu_xml-2.9$(HOSTLIB).dll.a \ + ./$(PREFIX)/lib/libwx_mswu_adv-2.9$(HOSTLIB).dll.a \ + ./$(PREFIX)/lib/libwx_mswu_aui-2.9$(HOSTLIB).dll.a \ + ./$(PREFIX)/lib/libwx_mswu_core-2.9$(HOSTLIB).dll.a \ + ./$(PREFIX)/lib/libwx_mswu_html-2.9$(HOSTLIB).dll.a \ + ./$(PREFIX)/lib/libwx_mswu_qa-2.9$(HOSTLIB).dll.a \ + ./$(PREFIX)/lib/libwx_mswu_richtext-2.9$(HOSTLIB).dll.a \ + ./$(PREFIX)/lib/libwx_mswu_xrc-2.9$(HOSTLIB).dll.a \ + ./$(PREFIX)/lib/libwx_mswu_media-2.9$(HOSTLIB).dll.a \ + ./$(PREFIX)/lib/libwx_mswu_gl-2.9$(HOSTLIB).dll.a \ + ./$(PREFIX)/lib/libwx_mswu_propgrid-2.9$(HOSTLIB).dll.a \ + ./$(PREFIX)/lib/libwx_mswu_ribbon-2.9$(HOSTLIB).dll.a \ + ./$(PREFIX)/lib/libwx_mswu_stc-2.9$(HOSTLIB).dll.a \ -lrpcrt4 -loleaut32 -lole32 -luuid -lwinspool -lwinmm -lshell32 -lcomctl32 -lcomdlg32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32 -lgdiplus endif \ No newline at end of file
-Greg
7. Re: Building wxEuphoria with 2.9
- Posted by mattlewis (admin) Dec 15, 2011
- 2025 views
I realize I keep replying to myself, but I finally go this to build completely. Here are my changes to Makefile.mingw. I renamed all the 2.8's to 2.9 and added missing libraries: gl, propgrid, ribbon, and stc (otherwise I got a bunch of ugly errors about wxPGProperty, etc.).
Ah, right. That stuff gets generated automatically when building on Linux via the wx-config script. I hard coded it to get MinGW working. Ideally, we would use that under msys. After building wxWidgets in msys, what happens if you try to "make install"?
Matt
8. Re: Building wxEuphoria with 2.9
- Posted by ghaberek (admin) Dec 16, 2011
- 1975 views
Ah, right. That stuff gets generated automatically when building on Linux via the wx-config script. I hard coded it to get MinGW working. Ideally, we would use that under msys. After building wxWidgets in msys, what happens if you try to "make install"?
I have no idea what this means...
$ make install PREFIX = ../wxWidgets-2.9.2 install -d ../wxWidgets-2.9.2/lib install ./build/libwxeu.so.2.9.17 ../wxWidgets-2.9.2/lib install: cannot stat `./build/libwxeu.so.2.9.17': No such file or directory make: *** [install] Error 1
-Greg
9. Re: Building wxEuphoria with 2.9
- Posted by mattlewis (admin) Dec 17, 2011
- 1969 views
Ah, right. That stuff gets generated automatically when building on Linux via the wx-config script. I hard coded it to get MinGW working. Ideally, we would use that under msys. After building wxWidgets in msys, what happens if you try to "make install"?
I have no idea what this means...
Sorry, I meant installing wxWidgets itself after it is built. I should put all of the wxWidgets stuff somewhere in the msys bin directories so that it would be a part of msys. One thing it does is create a script called wx-config, which can be used to get lists of flags or libraries that need to be linked or lots of other useful information. Then, instead of the hard coded junk, the msys build could be just like the process on *nix, and a lot more robust.
I haven't tried it under msys, so I'm not sure if it will actually work. I suspect it should. As I mentioned, it worked for me when cross compiling. I built both a 32-bit and 64-bit windows version of wxWidgets for windows using my system's windows cross compilers, and it installed the wx-config, setup.h, include files and libraries in the appropriate place, e.g.:
/usr/x86_64-w64-mingw32/include/wx-2.9/wx/... /usr/x86_64-w64-mingw32/wxbase292u_gcc_eu.dll /usr/x86_64-w64-mingw32/lib/wx/include/x86_64-w64-mingw32-msw-unicode-2.9/wx/setup.h /usr/x86_64-w64-mingw32/bin/wx-config...and similar stuff in /usr/i868-w64-mingw32.
Once that was done, the wxEuphoria configure script would probably need to be updated to remove all of the Windows hardcoding stuff. Specifically, at least this:
if echo "$UNAME_SYSTEM" | grep MINGW > /dev/null; then if [ "$1" = "" ]; then echo "You must supply the path to wxWidgets" exit 1 fi echo PREFIX=$1 >> Makefile.gcc echo CC=gcc >> Makefile.gcc echo include Makefile.mingw >> Makefile.gcc exit fi
Then building on msys and cross compiling (or regular *nix compiling) would basically be the same, which would actually simplify things.
Matt