From: Jerry <lan...@qw...> - 2012-08-17 04:18:29
|
On Aug 16, 2012, at 4:30 AM, Andrew Ross wrote: > > P.S. I've also checked the wxwidgets code. The wxwidgets driver does > not link against libplplotwxwidgetsd and so there should not be a > problem there. The example using this class explicitly links against > the wxwidgets libraries as it uses some of the function directly so > again should be fine. > > Jerry - if you have wxwidgets, please let me know if you encounter any > problems. > > Regards > > Andrew I have wxwidgets 2.8.12_0 installed as part of MacPorts. (All of the MacPorts stuff is in /opt/local.) With DNON_TRANSITIVE=OFF, DENABLE_wxwidgets=ON, and DPLD_wxwidgets=ON the build of 12216 fails like this: Linking CXX shared library libplplotwxwidgetsd.dylib cd /usr/local/plplot_build_dir/bindings/wxwidgets && /opt/local/bin/cmake -E cmake_link_script CMakeFiles/plplotwxwidgetsd.dir/link.txt --verbose=1 /usr/local/adacore-gnat-2011/bin/c++ -dynamiclib -Wl,-headerpad_max_install_names -single_module -o libplplotwxwidgetsd.0.0.0.dylib -install_name /usr/local/plplot_build_dir/bindings/wxwidgets/libplplotwxwidgetsd.0.dylib CMakeFiles/plplotwxwidgetsd.dir/wxPLplotstream.cpp.o CMakeFiles/plplotwxwidgetsd.dir/wxPLplotwindow.cpp.o -lplplotcxxd -arch i386 -framework IOKit -framework Carbon -framework Cocoa -framework System -framework QuickTime -framework OpenGL -framework AGL /opt/local/lib/libwx_base_carbonu-2.8.dylib /opt/local/lib/libwx_macu_core-2.8.dylib ld: library not found for -lplplotcxxd collect2: ld returned 1 exit status make[2]: *** [bindings/wxwidgets/libplplotwxwidgetsd.0.0.0.dylib] Error 1 make[1]: *** [bindings/wxwidgets/CMakeFiles/plplotwxwidgetsd.dir/all] Error 2 make: *** [all] Error 2 To my unpracticed eye the part "-arch i386" sticks out. I'm using x86_64 and as far as I know everything associated with building plplot on my machine is 64-bit. The wiki for OS X has long had the recommendation to not build for wxwidgets, possibly for an issue unrelated to what we are working on now; it would be great if we could get wxwidgets working on this OS. Jerry > > On Thu, Aug 16, 2012 at 12:10:24PM +0100, Andrew Ross wrote: >> >> I've revisited this and taken a closer look at the code. There are no >> explicit references to QWidget in the qt driver other than pointers >> (which are fine). The QtPLWidget class does however inherit from >> QWidget and so some of its functions are used. It looks like although >> this code is all in libplplotqtd it results in QWidget functions being >> called from the qt driver implicitly. Now this seems to work ok on >> Linux, but not on OS-X. >> >> To do this "properly" the qt driver would need to link against QtCore, >> but not QtSvg or QtGui. I've included the changes to do this. Jerry, >> can you test the svn head to see if this works for you? >> >> Thanks >> >> Andrew >> |