From: John L. <jla...@gm...> - 2014-10-02 04:06:52
|
On Wed, Oct 1, 2014 at 10:19 AM, Victor Bombi <so...@te...> wrote: > more investigations > > it seems that clang++ and g++ are the same. > what makes the difference between both results obtained is that one had > the c++11 flag and the other not. > I don't have a Mac right now, are you saying that you have both gcc and clang installed? That's what it seems like from the email with the compiler logs, but now you say they're the same, but maybe with different default flags? Or do you just mean that they're the same in that they both don't work. > So it seems that wxLua is not c++11 compliant as stated in previous > building error messages (you will see a modification proposed but may be > there are more) > wxLua doesn't use anything in c++11, the errors you get are for other things. This is a hack to get at the base class in a simple and quick way, maybe an easy fix. */Users/Morundi/Downloads/wxLua-2.8.12.3-src/modules/wxbind/src/wxhtml_bind.cpp:5189:72: **error: **non-constant-expression cannot be* *narrowed from type 'long' to 'int' in initializer list [-Wc++11-narrowing]* ...((long int)(wxHtmlWindowInterface*)(wxSimpleHtmlListBox*)&wxluatype_TNONE) - ((long int)(wxSimpleHtmlListBox*)&wxluatype_TNONE) }; Can you try compiling with this change? If it works I can commit the changes to SVN. static int wxluabaseclass_vtable_offsets_wxSimpleHtmlListBox[] = { int(((long int)(wxHtmlWindowInterface*)(wxSimpleHtmlListBox*)&wxluatype_TNONE) - ((long int)(wxSimpleHtmlListBox*)&wxluatype_TNONE)) }; > > So now the problem is in the linking phase > > *Linking CXX shared library ../../lib/Debug/libwx.dylib* > Undefined symbols for architecture x86_64: > "non-virtual thunk to wxHtmlListBox::RefreshAll()", referenced from: > > I have tested that the html component is build in wxWidgets by compiling > the html samples > what now? > What compiler is this one? GCC? This means that wxWidgets doesn't have the body of this function linked in. Strange, what does running 'nm -a wx-XXX.dylib | grep GetHTMLBackgroundColour' on the wxWidgets libs say? I'm picking this function since it's non-templated, but you can try it on any of them. "non-virtual thunk to wxHtmlWindow::GetHTMLBackgroundColour() const", referenced from: vtable for wxLuaHtmlWindow in wxhtml_wxlhtml.cpp.o http://stackoverflow.com/questions/5831063/non-virtual-thunk-to-method-name-referenced-from-vtable-for-classnamein I'm tempted to say that maybe the problem is that you're not linking to the wxhtml lib. In CMakeCache.txt, does wxWidgets_COMPONENTS have "html" in the list? You can also see the full linker command by looking at the "link.txt" files in the cmake build dir you made. This is an old thread, but maybe that's the problem. http://lists.apple.com/archives/unix-porting/2003/Dec/msg00107.html You can change the wxLua optimizations easily by editing CMakeCache.txt in the build dir and changing CMAKE_CXX_FLAGS_RELEASE (or whatever your build is) to -O? to match what wxWidgets used. Then just rerun 'cmake ../path/to/wxLua', then make clean, and make again. If this works... I don't know how we'd automatically figure out how to use the same ----------------------------------- By the way, you might want to use the wxLua SVN trunk as it has some updates and is very stable. -John |