From: John L. <jla...@gm...> - 2007-08-02 14:37:31
|
On 8/2/07, Ryan Pusztai <rpu...@gm...> wrote: > Wow I still can't build. > > Here is the command I use to start the build of wxLua from both the > 'apps\build\msw' and 'build\msw' directories: > > > mingw32-make.exe -f makefile.gcc BUILD=release WX_MONOLITHIC=1 Ahh, I bet it's due to the monolithic build, I always use multilib. I'm not sure what the difference (advantage?) is or even what gets put into the monolithic build. > Here is the error I get: > > > > g++ -o ..\..\..\bin\gcc_lib\wxlua.exe gccmsw\app_wxlua_lconsole.o > gccmsw\app_wxlua_wxlua.o gccmsw\app_wxlua_wxlua_rc.o > > -mthreads -LD:\devel\Libraries\wxWidgets2.8\lib\gcc_lib > -L..\..\..\lib\gcc_lib -L..\..\..\modules\lua\lib -Wl,--subsys > > tem,windows -mwindows -lwxlua_msw28_wxluasocket -lwxlua_msw28_wxluadebug > -lwxlua_msw28_wxbindadv -lwxlua_msw28_wxbinda > > ui -lwxlua_msw28_wxbindbase -lwxlua_msw28_wxbindcore > -lwxlua_msw28_wxbindgl -lwxlua_msw28_wxbindhtml -lwxlua_msw28_wxbin > > dmedia -lwxlua_msw28_wxbindnet -lwxlua_msw28_wxbindstc > -lwxlua_msw28_wxbindxml -lwxlua_msw28_wxbindxrc -lwxlua_msw28_wxl > > ua -llua5.1 -lwxmsw28_stc -lwxmsw28 -lwxtiff -lwxjpeg -lwxpng > -lwxzlib -lwxregex -lwxexpat -lkernel32 -luser32 > > -lgdi32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lcomctl32 -lole32 > -loleaut32 -luuid -lrpcrt4 -ladvapi32 -lwsock32 -lodb > > c32 > > > ..\..\..\lib\gcc_lib/libwxlua_msw28_wxbindgl.a(wxbindgl_lib_wxgl_bind.o):wxgl_bind.cpp:(.data+0x12c): > undefined referenc > > e to `wxGLCanvas::ms_classInfo' > > > ..\..\..\lib\gcc_lib/libwxlua_msw28_wxbindgl.a(wxbindgl_lib_wxgl_bind.o):wxgl_bind.cpp:(.data+0x150): > undefined referenc > > e to `wxGLContext::ms_classInfo' > > > > <snip> > > > > Here is a chunk of my setup.s to prove that I built wxWidgets with GL > support: > > > > // Setting wxUSE_GLCANVAS to 1 enables OpenGL support. You need to have > OpenGL > > // headers and libraries to be able to compile the library with > wxUSE_GLCANVAS > > // set to 1. Note that for some compilers (notably Microsoft Visual C++) > you > > // will need to manually add opengl32.lib and glu32.lib to the list of > > // libraries linked with your program if you use OpenGL. > > // > > // Default is 0. > > // > > // Recommended setting: 1 if you intend to use OpenGL, 0 otherwise > > #define wxUSE_GLCANVAS 1 > > > > Here is the command line I use to build wxWidgets: > > > mingw32-make.exe -f makefile.gcc BUILD=release MONOLITHIC=1 SHARED=0 > OFFICIAL_BUILD=1 RUNTIME_LIBS=static USE_ODBC=1 USE_OPENGL=1 USE_QA=1 > > > > Do you think it is odd that it doesn't link against opengl32.a and glu32.a? > Is there a way to build wxLua without OpenGL support? I don't need it. I > just want to build. Then just set wxUSE_OPENGL 0 and wxUSE_GLCANVAS 0. I don't fully understand what wxUSE_OPENGL is for (appears only in Linux version of wxWidgets as far as I can tell) as it is not used in any header. wxLua checks for wxUSE_GLCANVAS since that's used in the wxWidgets glcanvas.h header. You also have to remove the linker command -lwxlua_msw28_wxbindgl since I don't think we can be clever enough to put a check in the makefile.gcc. Another option is to set wxLUA_USE_wxGLCanvas 0 in modules/wxbind/setup/wxluasetup.h and none of the gl code will be compiled. This is probably the easiest way. Could you tell me what libs are in your wxWidgets/lib dir? As I am unfamiliar with the monolithic build, I'd be interested to know what gets output using the command you have above for wxWidgets. Thanks, John Labenski |