From: Werner S. <sm...@ia...> - 2009-09-10 10:59:34
|
Hi David, > Yes, that was the problem, thanks. I changed to an absolute path and > nmake = > succeeded. Perhaps it would be good to update: > > http://www.miscdebris.net/plplot_wiki/index.php?title=3DConfigure_PLplot_fo= > r_Visual_CXX will do. > > to reflect this. > > I then tried to build the examples in Windows (having already done > so succe= > ssfully in Linux) by specifying -DBUILD_TEST=3DON. All examples up > to and i= > ncluding x18c built ok. x19c failed: > > [ 62%] Building C object examples/c/CMakeFiles/x19c.dir/x19c.c.obj > x19c.c > C:\plplot-5.9.5\examples\c\x19c.c(81) : warning C4013: 'snprintf' > undefined= > ; assuming extern returning int > Linking C executable x19c.exe > x19c.c.obj : error LNK2019: unresolved external symbol _snprintf > referenced= > in function _geolocation_labeler > x19c.exe : fatal error LNK1120: 1 unresolved externals > LINK Pass 1 failed. with 2 Thanks, will fix this as well. > > Now I am ready to integrate PLplot with my wxWidgets app. I am a bit > confus= > ed here. I assume that the examples do not use the wxWidgets driver. > Is the= > re an example that does use the driver so that I can see how to > integrate w= > ith my application? Did you already compile wxWidgets on Windows (http://www.miscdebris.net/plplot_wiki/index.php?title=WxWidgets ). All you then need is the environment variable WXWIN set, before you run cmake (clean the build directory and rerun cmake). You should then have wxWidgets as one of the drivers available if you run an example. examples/C++/wxPLplotDemo.cpp is an example how plplot is integrated in your application. Run "nmake VERBOSE=1" to see what compile and link options were used (though I'm not sure if that works for nmake). Regards, Werner > > Best regards > > David -- Dr. Werner Smekal Institut fuer Allgemeine Physik Technische Universitaet Wien Wiedner Hauptstr 8-10 A-1040 Wien Austria email: sm...@ia... web: http://www.iap.tuwien.ac.at/~smekal phone: +43-(0)1-58801-13463 (office), +43-(0)1-58801-13469 (laboratory) fax: +43-(0)1-58801-13499 |
From: David A. <David.Aldrich@EU.NEC.COM> - 2009-09-10 12:54:03
|
Hi Werner > Did you already compile wxWidgets on Windows Yes, I have previously built wxWidgets-2.8.10 (without unicode) so I set: WXWIN=C:\wxWidgets-2.8.10 I then executed: cmake -G "NMake Makefiles" -DCMAKE_INSTALL_PREFIX=install -DBUILD_TEST=ON .. path=c:\plplot-5.9.5\buildnmake\dll;%PATH% nmake which terminates when building x19c as I mentioned before. Running x01c gives: =========================================== C:\plplot-5.9.5\buildnmake\examples\c>x01c PLplot library version: 5.9.5 Plotting Options: < 1> wingcc Win32 (GCC) < 2> ps PostScript File (monochrome) < 3> psc PostScript File (color) < 4> xfig Fig file < 5> null Null device < 6> mem User-supplied memory device < 7> svg Scalable Vector Graphics (SVG 1.1) Enter device number or keyword: =========================================== So I haven't got the wxWidgets driver under windows. Any idea why please? By the way, all works fine under Linux - much easier than Windows as you predicted ;-) David |
From: Werner S. <sm...@ia...> - 2009-09-10 14:07:38
|
Hi David, > Yes, I have previously built wxWidgets-2.8.10 (without unicode) so I > set: > > WXWIN=C:\wxWidgets-2.8.10 Do you have any other built of wxWidgets lying around, maybe installed with an installer before? cmake looks first in the registry, maybe there are some old entries? Or is this the first time that wxWidgets was built on that system? > I then executed: > > cmake -G "NMake Makefiles" -DCMAKE_INSTALL_PREFIX=install - > DBUILD_TEST=ON .. > path=c:\plplot-5.9.5\buildnmake\dll;%PATH% > nmake Could you send the output of cmake? Take also a look at the output yourself. If wxWidgets was found, "wxwidgets" must be listed at the summary at the end of the output. Further above there might be some information why wxWidgets was not found. If you could send the output to the list I could have a look at that. > > which terminates when building x19c as I mentioned before. At your local plplot copy you could just change "snprintf" to "_snprintf" and Visual C++ should be able to compile that. So the build will succeed. > > Running x01c gives: > > =========================================== > C:\plplot-5.9.5\buildnmake\examples\c>x01c > PLplot library version: 5.9.5 > > Plotting Options: > < 1> wingcc Win32 (GCC) > < 2> ps PostScript File (monochrome) > < 3> psc PostScript File (color) > < 4> xfig Fig file > < 5> null Null device > < 6> mem User-supplied memory device > < 7> svg Scalable Vector Graphics (SVG 1.1) > > Enter device number or keyword: > =========================================== > > So I haven't got the wxWidgets driver under windows. Any idea why > please? > > By the way, all works fine under Linux - much easier than Windows as > you predicted ;-) Yeah, I wasted countless hours in Windows, since that whole combination is just a beast. But with every report it becomes better and better ;) Regards, Werner > > David > -- Dr. Werner Smekal Institut fuer Allgemeine Physik Technische Universitaet Wien Wiedner Hauptstr 8-10 A-1040 Wien Austria email: sm...@ia... web: http://www.iap.tuwien.ac.at/~smekal phone: +43-(0)1-58801-13463 (office), +43-(0)1-58801-13469 (laboratory) fax: +43-(0)1-58801-13499 |
From: David A. <David.Aldrich@EU.NEC.COM> - 2009-09-11 14:11:38
|
Hi I am still struggling with building PLplot 5.9.5 under Visual C++ 2005, for wxWidgets. I specify: C:\plplot-5.9.5\buildnmake>nmake clean C:\plplot-5.9.5\buildnmake>set WXWIN=C:\wxWidgets-2.8.10 C:\plplot-5.9.5\buildnmake>cmake -G "NMake Makefiles" -DCMAKE_INSTALL_PREFIX=install -DBUILD_TEST=ON .. The C++ examples build ok and run ok for the wingcc driver, but no wxWidgets driver is offered. The only mention of wxWidgets in the CMake output is: Language Bindings: ENABLE_f77: OFF ENABLE_f95: OFF ENABLE_cxx: ON ENABLE_java: OFF ENABLE_python: OFF ENABLE_octave: OFF ENABLE_tcl: OFF ENABLE_itcl: OFF ENABLE_tk: OFF ENABLE_itk: OFF ENABLE_pdl: OFF ENABLE_wxwidgets: OFF <===== ENABLE_gnome2: OFF ENABLE_pygcw: OFF ENABLE_ada: OFF ENABLE_d: OFF ENABLE_ocaml: OFF ENABLE_lua: OFF ENABLE_qt: OFF ENABLE_pyqt4: OFF I mentioned this yesterday. Please may I ask people to have another look at this? How can I get cmake to build the wxWidgets driver? Best regards David |
From: Alan W. I. <ir...@be...> - 2009-09-11 17:11:58
|
On 2009-09-11 15:10+0100 David Aldrich wrote: > Hi > > I am still struggling with building PLplot 5.9.5 under Visual C++ 2005, for wxWidgets. > > I specify: > > C:\plplot-5.9.5\buildnmake>nmake clean > C:\plplot-5.9.5\buildnmake>set WXWIN=C:\wxWidgets-2.8.10 > C:\plplot-5.9.5\buildnmake>cmake -G "NMake Makefiles" -DCMAKE_INSTALL_PREFIX=install -DBUILD_TEST=ON .. Hi David: It appears that our CMake-based build system is failing you in some way so I will try to help you out since build-system issues are primarily my area of responsibility (although I may need help from those with actual Windows experience here if there is some Windows platform quirk we are up against). cmake caches information from previous cmake attempts in the same build tree. So if something was wrong with previous cmake attempts that issue might get perpetrated. Therefore, in these early stages of figuring things out it is best to always run cmake in an initially empty build rather than using "nmake clean" (which only gets rid of the previous compiled object files and linked libraries, but not the configuration information from previous cmake runs). Also, cmake has a quirk that if you point to a directory with a previous build in it, it will use that build tree rather than where you are located. So make sure that the source tree your cmake command points to is clean, i.e., no previous builds there. I have just reviewed cmake/modules/wxwidgets.cmake, and that is filled with logic to give warning messages when things go wrong with finding wxwidgets on your system. So I just don't understand your report of no such messages. To help sort this out, please send me off-list your _complete_ cmake output and also the CMake cache file (CMakeCache.txt) from a cmake run in an intially empty build tree AND for a clean source tree (i.e., no builds done by mistake in that source tree). Alan __________________________ Alan W. Irwin Astronomical research affiliation with Department of Physics and Astronomy, University of Victoria (astrowww.phys.uvic.ca). Programming affiliations with the FreeEOS equation-of-state implementation for stellar interiors (freeeos.sf.net); PLplot scientific plotting software package (plplot.org); the libLASi project (unifont.org/lasi); the Loads of Linux Links project (loll.sf.net); and the Linux Brochure Project (lbproject.sf.net). __________________________ Linux-powered Science __________________________ |
From: Werner S. <sm...@ia...> - 2009-09-11 22:15:58
|
Hi David, as Alan wrote we would need the complete output of cmake. Regards, Werner On Sep 11, 2009, at 4:10 PM, David Aldrich wrote: > Hi > > I am still struggling with building PLplot 5.9.5 under Visual C++ > 2005, for wxWidgets. > > I specify: > > C:\plplot-5.9.5\buildnmake>nmake clean > C:\plplot-5.9.5\buildnmake>set WXWIN=C:\wxWidgets-2.8.10 > C:\plplot-5.9.5\buildnmake>cmake -G "NMake Makefiles" - > DCMAKE_INSTALL_PREFIX=install -DBUILD_TEST=ON .. > > The C++ examples build ok and run ok for the wingcc driver, but no > wxWidgets driver is offered. > > The only mention of wxWidgets in the CMake output is: > > Language Bindings: > ENABLE_f77: OFF ENABLE_f95: OFF > ENABLE_cxx: ON ENABLE_java: OFF > ENABLE_python: OFF ENABLE_octave: OFF > ENABLE_tcl: OFF ENABLE_itcl: OFF > ENABLE_tk: OFF ENABLE_itk: OFF > ENABLE_pdl: OFF ENABLE_wxwidgets: > OFF <===== > ENABLE_gnome2: OFF ENABLE_pygcw: OFF > ENABLE_ada: OFF ENABLE_d: OFF > ENABLE_ocaml: OFF ENABLE_lua: OFF > ENABLE_qt: OFF ENABLE_pyqt4: OFF > > I mentioned this yesterday. Please may I ask people to have another > look at this? How can I get cmake to build the wxWidgets driver? > > Best regards > > David -- Dr. Werner Smekal Institut fuer Allgemeine Physik Technische Universitaet Wien Wiedner Hauptstr 8-10 A-1040 Wien Austria DVR-Nr: 0005886 email: sm...@ia... web: http://www.iap.tuwien.ac.at/~smekal phone: +43-(0)1-58801-13463 (office) +43-(0)1-58801-13469 (laboratory) fax: +43-(0)1-58801-13499 |
From: David A. <David.Aldrich@EU.NEC.COM> - 2009-09-10 14:47:07
|
Hi Werner The only mention of wxWidgets in the CMake output is: Language Bindings: ENABLE_f77: OFF ENABLE_f95: OFF ENABLE_cxx: ON ENABLE_java: OFF ENABLE_python: OFF ENABLE_octave: OFF ENABLE_tcl: OFF ENABLE_itcl: OFF ENABLE_tk: OFF ENABLE_itk: OFF ENABLE_pdl: OFF ENABLE_wxwidgets: OFF <===== ENABLE_gnome2: OFF ENABLE_pygcw: OFF ENABLE_ada: OFF ENABLE_d: OFF ENABLE_ocaml: OFF ENABLE_lua: OFF ENABLE_qt: OFF ENABLE_pyqt4: OFF Does that give a clue? Am not aware of another installation of wxWidgets. Best regards David |
From: David A. <David.Aldrich@EU.NEC.COM> - 2009-09-10 16:20:24
|
Hi Werner I will shortly try to link PLplot to my wxWidgets app. I built wxPLplotDemo on linux with VERBOSE=1 as you suggested and saw: ======================================================= Linking CXX executable wxPLplotDemo cd /home/MyDir/plplot-5.9.5/buildnmake/examples/c++ && /home/ MyDir /cmake-2.6.4-Linux-i386/bin/cmake -E cmake_link_script CMakeFiles/wxPLplotDemo.dir/link.txt --verbose=1 /usr/bin/c++ -fPIC CMakeFiles/wxPLplotDemo.dir/wxPLplotDemo.cpp.o -o wxPLplotDemo -rdynamic ../../bindings/wxwidgets/libplplotwxwidgetsd.so.0.0.0 ../../bindings/c++/libplplotcxxd.so.9.3.0 -lm ../../src/libplplotd.so.9.7.0 -lpangocairo-1.0 -lpango-1.0 -lcairo /lib64/libgobject-2.0.so /lib64/libgmodule-2.0.so -ldl /lib64/libglib-2.0.so -lSM -lICE -lX11 -lXext -lSM -lICE -lX11 -lXext -lpthread ../../lib/csa/libcsirocsa.so.0.0.1 ../../lib/qsastime/libqsastime.so.0.0.1 -lm -pthread /usr/local/lib/libwx_base-2.8.so /usr/local/lib/libwx_gtk2_core-2.8.so -Wl,-rpath,/home/ MyDir /plplot-5.9.5/buildnmake/bindings/wxwidgets:/home/ MyDir /plplot-5.9.5/buildnmake/bindings/c++:/home/ MyDir /plplot-5.9.5/buildnmake/src:/lib64:/home/ MyDir /plplot-5.9.5/buildnmake/lib/csa:/home/ MyDir /plplot-5.9.5/buildnmake/lib/qsastime:/usr/local/lib ======================================================= I plan to store the necessary PLplot libraries and header files in our svn project so that not every developer needs to install PLplot, but the above command seems to reference a lot of libraries. Is there a way to reduce this complexity? Best regards David |
From: Werner S. <sm...@ia...> - 2009-09-11 22:25:57
|
On Sep 10, 2009, at 6:19 PM, David Aldrich wrote: > Hi Werner > > I will shortly try to link PLplot to my wxWidgets app. I built > wxPLplotDemo on linux with VERBOSE=1 as you suggested and saw: > > ======================================================= > > Linking CXX executable wxPLplotDemo > cd /home/MyDir/plplot-5.9.5/buildnmake/examples/c++ && /home/ MyDir / > cmake-2.6.4-Linux-i386/bin/cmake -E cmake_link_script CMakeFiles/ > wxPLplotDemo.dir/link.txt --verbose=1 > /usr/bin/c++ -fPIC CMakeFiles/wxPLplotDemo.dir/ > wxPLplotDemo.cpp.o -o wxPLplotDemo -rdynamic ../../bindings/ > wxwidgets/libplplotwxwidgetsd.so.0.0.0 ../../bindings/c++/ > libplplotcxxd.so.9.3.0 -lm ../../src/libplplotd.so.9.7.0 - > lpangocairo-1.0 -lpango-1.0 -lcairo /lib64/libgobject-2.0.so /lib64/ > libgmodule-2.0.so -ldl /lib64/libglib-2.0.so -lSM -lICE -lX11 -lXext > -lSM -lICE -lX11 -lXext -lpthread ../../lib/csa/libcsirocsa.so. > 0.0.1 ../../lib/qsastime/libqsastime.so.0.0.1 -lm -pthread /usr/ > local/lib/libwx_base-2.8.so /usr/local/lib/libwx_gtk2_core-2.8.so - > Wl,-rpath,/home/ MyDir /plplot-5.9.5/buildnmake/bindings/wxwidgets:/ > home/ MyDir /plplot-5.9.5/buildnmake/bindings/c++:/home/ MyDir / > plplot-5.9.5/buildnmake/src:/lib64:/home/ MyDir /plplot-5.9.5/ > buildnmake/lib/csa:/home/ MyDir /plplot-5.9.5/buildnmake/lib/ > qsastime:/usr/local/lib > > ======================================================= > > I plan to store the necessary PLplot libraries and header files in > our svn project so that not every developer needs to install PLplot, > but the above command seems to reference a lot of libraries. Is > there a way to reduce this complexity? One way is to exclude all bindings and drivers you don't need. I usually disable all drivers/bindings and then add only the drivers/ bindings I need, e.g. cmake -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Debug \ -DDEFAULT_NO_BINDINGS:BOOL=ON -DENABLE_cxx:BOOL=ON - DENABLE_wxwidgets:BOOL=ON \ -DDEFAULT_NO_DEVICES:BOOL=ON -DPLD_wxwidgets:BOOL=ON - DPLD_ps:BOOL=ON -DPLD_psc:BOOL=ON \ -DENABLE_DYNDRIVERS:BOOL=OFF - DCMAKE_INSTALL_PREFIX=installdir ../plplot Look also here: http://www.miscdebris.net/plplot_wiki/index.php?title=CMake_options_for_PLplot for other options. wxWidgets as might need a lot of libraries which are listed here, you can check that with "wx-config --libs". Regards, Werner > > Best regards > > David -- Dr. Werner Smekal Institut fuer Allgemeine Physik Technische Universitaet Wien Wiedner Hauptstr 8-10 A-1040 Wien Austria DVR-Nr: 0005886 email: sm...@ia... web: http://www.iap.tuwien.ac.at/~smekal phone: +43-(0)1-58801-13463 (office) +43-(0)1-58801-13469 (laboratory) fax: +43-(0)1-58801-13499 |
From: David A. <David.Aldrich@EU.NEC.COM> - 2009-09-11 16:07:06
|
Hi As you may be aware from my posts on another thread, I am new to PLplot and am attempting to link it with my wxWidgets app. I have two problems presently: 1) To satisfy the include paths, I had to rename wxPLplotstream.h.in to wxPLplotstream.h. I am using make, not cmake, and am not familiar with the '.h.in' suffix. Is my hack ok or is there a better way of doing this? 2) I get the following compilation error: wxPLplotstream.h:35:34: warning: missing whitespace after the macro name The failing line is: class PLDLLIMPEXP_WX wxPLplotwindow : public wxWindow How can I fix this please? Best regards David |
From: Werner S. <sm...@ia...> - 2009-09-11 22:15:17
|
Hi David, > 1) To satisfy the include paths, I had to rename wxPLplotstream.h.in > to wxPLplotstream.h. I am using make, not cmake, and am not familiar > with the '.h.in' suffix. Is my hack ok or is there a better way of > doing this? .h.in files are configured via cmake to .h files. wxPLplotstream.h must be in builddir/bindings/wxwidgets. Or you run nmake install, but use the cmake option -DCMAKE_INSTALL_PREFIX=whereyouwant before, so that the library and the headers are installed in a directory of your choice. > > > 2) I get the following compilation error: > > wxPLplotstream.h:35:34: warning: missing whitespace after the macro > name > > The failing line is: > > class PLDLLIMPEXP_WX wxPLplotwindow : public wxWindow > > How can I fix this please? > > Best regards > > David > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 > 30-Day > trial. Simplify your report design, integration and deployment - and > focus on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > _______________________________________________ > Plplot-general mailing list > Plp...@li... > https://lists.sourceforge.net/lists/listinfo/plplot-general -- Dr. Werner Smekal Institut fuer Allgemeine Physik Technische Universitaet Wien Wiedner Hauptstr 8-10 A-1040 Wien Austria DVR-Nr: 0005886 email: sm...@ia... web: http://www.iap.tuwien.ac.at/~smekal phone: +43-(0)1-58801-13463 (office) +43-(0)1-58801-13469 (laboratory) fax: +43-(0)1-58801-13499 |
From: David A. <David.Aldrich@EU.NEC.COM> - 2009-09-11 16:55:15
|
Hi I wrote: > 2) I get the following compilation error: > > wxPLplotstream.h:35:34: warning: missing whitespace after the macro name well, of course, this is a warning and not a big deal. Sorry for my mistake. I have compiled my code successfully now, and just need to specify the PLplot libraries for the linker in my makefile. Is it possible to tell me which libraries I am likely to need and where to find them in the buildtree please? BR David |
From: Werner S. <sm...@ia...> - 2009-09-11 22:21:15
|
Hi David, > I have compiled my code successfully now, and just need to specify > the PLplot libraries for the linker in my makefile. Is it possible > to tell me which libraries I am likely to need and where to find > them in the buildtree please? For Windows I use in one of my applications: libcsirocsa.dll libcsironn.dll libplplotcxxd.dll libplplotd.dll libplplotwxwidgetsd.dll libqsastime.dll mingwm10.dll (if mingw) plstnd5.fnt (this files need to be accessible as well) plxtnd5.fnt (this files need to be accessible as well) wxbase28_gcc_custom.dll wxmsw28_core_gcc_custom.dll if you install plplot to a certain directory, the import libraries must be in "installpath\lib" Regards, Werner > > BR > > David > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 > 30-Day > trial. Simplify your report design, integration and deployment - and > focus on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > _______________________________________________ > Plplot-general mailing list > Plp...@li... > https://lists.sourceforge.net/lists/listinfo/plplot-general -- Dr. Werner Smekal Institut fuer Allgemeine Physik Technische Universitaet Wien Wiedner Hauptstr 8-10 A-1040 Wien Austria DVR-Nr: 0005886 email: sm...@ia... web: http://www.iap.tuwien.ac.at/~smekal phone: +43-(0)1-58801-13463 (office) +43-(0)1-58801-13469 (laboratory) fax: +43-(0)1-58801-13499 |
From: Werner S. <sm...@ia...> - 2009-09-11 22:28:51
|
Hi David, just another question: How did you build wxWidgets? Are the wxwidgets dlls in C:\wxWidgets-2.8.10\lib\vc_dll ? Regards, Werner On Sep 11, 2009, at 4:10 PM, David Aldrich wrote: > Hi > > I am still struggling with building PLplot 5.9.5 under Visual C++ > 2005, for wxWidgets. > > I specify: > > C:\plplot-5.9.5\buildnmake>nmake clean > C:\plplot-5.9.5\buildnmake>set WXWIN=C:\wxWidgets-2.8.10 > C:\plplot-5.9.5\buildnmake>cmake -G "NMake Makefiles" - > DCMAKE_INSTALL_PREFIX=install -DBUILD_TEST=ON .. > > The C++ examples build ok and run ok for the wingcc driver, but no > wxWidgets driver is offered. > > The only mention of wxWidgets in the CMake output is: > > Language Bindings: > ENABLE_f77: OFF ENABLE_f95: OFF > ENABLE_cxx: ON ENABLE_java: OFF > ENABLE_python: OFF ENABLE_octave: OFF > ENABLE_tcl: OFF ENABLE_itcl: OFF > ENABLE_tk: OFF ENABLE_itk: OFF > ENABLE_pdl: OFF ENABLE_wxwidgets: > OFF <===== > ENABLE_gnome2: OFF ENABLE_pygcw: OFF > ENABLE_ada: OFF ENABLE_d: OFF > ENABLE_ocaml: OFF ENABLE_lua: OFF > ENABLE_qt: OFF ENABLE_pyqt4: OFF > > I mentioned this yesterday. Please may I ask people to have another > look at this? How can I get cmake to build the wxWidgets driver? > > Best regards > > David -- Dr. Werner Smekal Institut fuer Allgemeine Physik Technische Universitaet Wien Wiedner Hauptstr 8-10 A-1040 Wien Austria DVR-Nr: 0005886 email: sm...@ia... web: http://www.iap.tuwien.ac.at/~smekal phone: +43-(0)1-58801-13463 (office) +43-(0)1-58801-13469 (laboratory) fax: +43-(0)1-58801-13499 |
From: David A. <David.Aldrich@EU.NEC.COM> - 2009-09-14 13:23:53
|
Hi I'm sorry, but I am still unable to build the PLplot wxPLplotDemo example. I have built wxWidgets libraries for shared, unicode, release and I configure CMake with: C:\plplot-5.9.5\buildnmake>cmake -G "NMake Makefiles" -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release -DDEFAULT_NO_BINDINGS:BOOL=ON -DENABLE_cxx:BOOL=ON -DENABLE_wxwidgets:BOOL=ON -DDEFAULT_NO_DEVICES:BOOL=ON -DPLD_wxwidgets:BOOL=ON -DENABLE_DYNDRIVERS:BOOL=OFF -DBUILD_TEST=ON -DCMAKE_INSTALL_PREFIX=install .. wxPLplotDemo.cpp builds with warnings: =================================================== C:\plplot-5.9.5\bindings\wxwidgets\wxPLplotwindow.h(36) : warning C4275: non dll-interface class 'wxWindow' used as base for dll-interface class 'wxPLplotwindow' C:/wxWidgets-2.8.10/include\wx/msw/window.h(33) : see declaration of 'wxWindow' C:\plplot-5.9.5\bindings\wxwidgets\wxPLplotwindow.h(35) : see declaration of 'wxPLplotwindow' C:\plplot-5.9.5\bindings\wxwidgets\wxPLplotwindow.h(66) : warning C4251: 'wxPLplotwindow::sm_eventTableEntries' : struct 'wxEventTableEntry' needs to have dll-interface to be used by clients of class 'wxPLplotwindow' C:/wxWidgets-2.8.10/include\wx/event.h(2260) : see declaration of 'wxEventTableEntry' C:\plplot-5.9.5\bindings\wxwidgets\wxPLplotwindow.h(66) : warning C4251: 'wxPLplotwindow::sm_eventHashTable' : class 'wx EventHashTable' needs to have dll-interface to be used by clients of class 'wxPLplotwindow' C:/wxWidgets-2.8.10/include\wx/event.h(2322) : see declaration of 'wxEventHashTable' =================================================== but when I run wxPLplotDemo.exe I just get a window saying: "wxPLplotDemo.exe has encountered a problem and needs to close. We are sorry for the inconvenience." What further confuses me is that: http://www.miscdebris.net/plplot_wiki/index.php?title=WxWidgets states: "If you use plplot within your wxWidgets application you have already a wxWidgets library ready for use - see cmake-path\share\modules\FindwxWidgets.cmake for the options for your special wxWidgets library." I can't find FindwxWidgets.cmake Under what circumstances does CMake build wxWidgets? Finally, I would be grateful for clarification over support for static libraries - please see my previous email. Best regards David |
From: <Han...@sh...> - 2009-09-17 12:42:20
|
Dear All, I got some problems when I had a colour table with 150 colours in cmap0 and then wanted to create a "gif" file from that. I got an error like "Too many colours in cmap0". Looking through the code it turned out to be cuased by the "gd.c" driver. This one takes the maximum number of colours "NCOLOURS" from "gdMacColors" (which is defined as 256 in the header file gd.h). But at a certain moment the number of colours as defined for the cmap0 colour table is compared with "NCOLOURS/2" (see line815 in gd.c). So, as I have 150 colours in my map, I now get this error as it exceeds 128 and my "gif" file is not what I wanted. Is there a special reason why only half of the colours is allowed here ? (I removed that limitation by just testing at NCOLOURS and now my picture looks as expected) Regards, Hans Rijneke |
From: Alan W. I. <ir...@be...> - 2009-09-17 15:55:11
|
On 2009-09-17 14:40+0200 Han...@sh... wrote: > Dear All, > > I got some problems when I had a colour table with 150 colours in cmap0 and then wanted to create a "gif" file from that. I got an error like "Too many colours in cmap0". > > Looking through the code it turned out to be cuased by the "gd.c" driver. This one takes the maximum number of colours "NCOLOURS" from "gdMacColors" (which is defined as 256 in the header file gd.h). But at a certain moment the number of colours as defined for the cmap0 colour table is compared with "NCOLOURS/2" (see line815 in gd.c). > > So, as I have 150 colours in my map, I now get this error as it exceeds 128 and my "gif" file is not what I wanted. > > Is there a special reason why only half of the colours is allowed here ? > > (I removed that limitation by just testing at NCOLOURS and now my picture looks as expected) Hi Hans: The png, jpeg, and gif devices are all implemented via the gd device driver which is unmaintained, deprecated, and not removed at the moment simply because some legacy Linux "enterprise" distros don't have access to good versions of the stack of cairo-related libraries and/or the Qt libraries. The gd device driver has major issues with unicode font handling, rendering of complex-text-layout (CTL) languages, and text offsets which are all solved with the cairo devices and the qt devices. There are much better alternatives for JPEG format (use jpgqt) and PNG format (use pngqt or pngcairo). The GIF format has some technical limitations (such as lack of a large colour space) so you may find you far prefer the PNG format (either pngqt or pngcairo) instead. However, if for some legacy reason you really need GIF, then I think the best way to implement that with PLplot is to generate PNG format with PLplot and then use the ImageMagick convert programme to generate the corresponding GIF. I hope this overview helps you and others here make a good choice of PLplot bitmapped device drivers. Alan __________________________ Alan W. Irwin Astronomical research affiliation with Department of Physics and Astronomy, University of Victoria (astrowww.phys.uvic.ca). Programming affiliations with the FreeEOS equation-of-state implementation for stellar interiors (freeeos.sf.net); PLplot scientific plotting software package (plplot.org); the libLASi project (unifont.org/lasi); the Loads of Linux Links project (loll.sf.net); and the Linux Brochure Project (lbproject.sf.net). __________________________ Linux-powered Science __________________________ |
From: <Han...@sh...> - 2009-09-18 05:15:49
|
Alan, Thanks a lot for your explanation. I had no idea that I was using "old, unmaintained and deprecated" functionality :-). I have no real rason for "gif" files, so I will try to switch to another driver. Thans again. Hans. -----Original Message----- From: Alan W. Irwin [mailto:ir...@be...] Sent: Thursday, September 17, 2009 17:55 To: Rijneke, Hans H SIEP-EPT-RIS Cc: plp...@li... Subject: Re: [Plplot-general] Maximum number of colour for colour map "cmap0" On 2009-09-17 14:40+0200 Han...@sh... wrote: > Dear All, > > I got some problems when I had a colour table with 150 colours in cmap0 and then wanted to create a "gif" file from that. I got an error like "Too many colours in cmap0". > > Looking through the code it turned out to be cuased by the "gd.c" driver. This one takes the maximum number of colours "NCOLOURS" from "gdMacColors" (which is defined as 256 in the header file gd.h). But at a certain moment the number of colours as defined for the cmap0 colour table is compared with "NCOLOURS/2" (see line815 in gd.c). > > So, as I have 150 colours in my map, I now get this error as it exceeds 128 and my "gif" file is not what I wanted. > > Is there a special reason why only half of the colours is allowed here ? > > (I removed that limitation by just testing at NCOLOURS and now my picture looks as expected) Hi Hans: The png, jpeg, and gif devices are all implemented via the gd device driver which is unmaintained, deprecated, and not removed at the moment simply because some legacy Linux "enterprise" distros don't have access to good versions of the stack of cairo-related libraries and/or the Qt libraries. The gd device driver has major issues with unicode font handling, rendering of complex-text-layout (CTL) languages, and text offsets which are all solved with the cairo devices and the qt devices. There are much better alternatives for JPEG format (use jpgqt) and PNG format (use pngqt or pngcairo). The GIF format has some technical limitations (such as lack of a large colour space) so you may find you far prefer the PNG format (either pngqt or pngcairo) instead. However, if for some legacy reason you really need GIF, then I think the best way to implement that with PLplot is to generate PNG format with PLplot and then use the ImageMagick convert programme to generate the corresponding GIF. I hope this overview helps you and others here make a good choice of PLplot bitmapped device drivers. Alan __________________________ Alan W. Irwin Astronomical research affiliation with Department of Physics and Astronomy, University of Victoria (astrowww.phys.uvic.ca). Programming affiliations with the FreeEOS equation-of-state implementation for stellar interiors (freeeos.sf.net); PLplot scientific plotting software package (plplot.org); the libLASi project (unifont.org/lasi); the Loads of Linux Links project (loll.sf.net); and the Linux Brochure Project (lbproject.sf.net). __________________________ Linux-powered Science __________________________ |
From: Alan W. I. <ir...@be...> - 2009-09-18 14:30:10
|
On 2009-09-18 07:00+0200 Han...@sh... wrote: > Alan, > > Thanks a lot for your explanation. I had no idea that I was using "old, unmaintained and deprecated" functionality :-). Actually, I had forgotten that we had made an official announcement about this (which is what I should have referred to in my previous e-mail). See Announcement VII in README.release. (We also copy a version of that file to SF as the official release notes for each release there.) There are 12 such announcements in README.release at the moment so I can see why you missed it in the crowd. :-) However, I urge everybody here to take the time to read through at least the announcements for every release because they document fundamental changes (such as deprecating individual device drivers) to PLplot which may immediately impact some veteran users of PLplot. Of course, the rest of the release notes in README.release are interesting as well since they document new features. Alan __________________________ Alan W. Irwin Astronomical research affiliation with Department of Physics and Astronomy, University of Victoria (astrowww.phys.uvic.ca). Programming affiliations with the FreeEOS equation-of-state implementation for stellar interiors (freeeos.sf.net); PLplot scientific plotting software package (plplot.org); the libLASi project (unifont.org/lasi); the Loads of Linux Links project (loll.sf.net); and the Linux Brochure Project (lbproject.sf.net). __________________________ Linux-powered Science __________________________ |
From: David A. <David.Aldrich@EU.NEC.COM> - 2009-09-14 08:35:44
|
Werner wrote: > just another question: How did you build wxWidgets? Are the wxwidgets > dlls in C:\wxWidgets-2.8.10\lib\vc_dll ? No, I used the .dsw project files supplied with wxWidgets. These build static libs, not dlls. In fact I want to work with static libs so that I don't have to distribute many dlls. Can I configure PLplot to use, and build, static libraries? Best regards David |
From: Arjen M. <arj...@de...> - 2009-09-14 08:49:55
|
Hi David, yes, you can. It is not a thoroughly tested configuration though, and therefore you may run into trouble, but with the option -DBUILD_SHARED_LIBS:BOOL=OFF you will get static PLplot libraries. Whether the dependencies are static or dynamic is another matter. I would assume that (at least for Windows where you have separate import libraries and DLLs) the build system will automatically use the static libraries as they tend to have the same names as the import libraries for the corresponding DLLs. But I do not know wxWidgets well enough to be absolutely sure about this (it is a choice, not an enforced strategy). Regards, Arjen On 2009-09-14 10:34, David Aldrich wrote: > Werner wrote: > >> just another question: How did you build wxWidgets? Are the wxwidgets >> dlls in C:\wxWidgets-2.8.10\lib\vc_dll ? > > No, I used the .dsw project files supplied with wxWidgets. These build static libs, not dlls. In fact I want to work with static libs so that I don't have to distribute many dlls. > > Can I configure PLplot to use, and build, static libraries? > > Best regards > > David > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day > trial. Simplify your report design, integration and deployment - and focus on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > _______________________________________________ > Plplot-general mailing list > Plp...@li... > https://lists.sourceforge.net/lists/listinfo/plplot-general > |
From: Werner S. <sm...@ia...> - 2009-09-14 09:48:44
|
Hi David, > No, I used the .dsw project files supplied with wxWidgets. These > build static libs, not dlls. In fact I want to work with static libs > so that I don't have to distribute many dlls. > > Can I configure PLplot to use, and build, static libraries? That is not possible for wxWidgets. Reason is, that if wxWidgets is static, it gets compiled into the plplot driver and in your application. There are some symbols in wxWidgets (e.g. wxApp) which *must* be unique. If you use the static wxWidgets library, such symbols will be created twice (in your app and in plplot library) - it may link, but the application crashes then. This is by design, since the wxWidgets driver works also standalone (so there is a wxApp included), it should be possible to configure the driver during the cmake configure stage to not work standalone and get rid of the wxApp dependency. I'll put that on my todo list and will see if I can make that work (but likely not anytime soon). Best regards, Werner > > Best regards > > David -- Dr. Werner Smekal Institut fuer Allgemeine Physik Technische Universitaet Wien Wiedner Hauptstr 8-10 A-1040 Wien Austria email: sm...@ia... web: http://www.iap.tuwien.ac.at/~smekal phone: +43-(0)1-58801-13463 (office), +43-(0)1-58801-13469 (laboratory) fax: +43-(0)1-58801-13499 |
From: David A. <David.Aldrich@EU.NEC.COM> - 2009-09-14 09:53:36
|
Hi Werner Thanks for your reply. So, to summarise, if I use PLplot with wxWidgets, I must use wxWidgets shared (not static) libraries and I must build PLplot shared (not static) libraries. Am I correct please? Best regards David |