Page 1 of 1

Executables with wxFreeChart running in 64 bits mode

Posted: Tue Jan 17, 2017 11:37 am
by cscphi
Hello,

I´m new to wxWidgets and I faced a problem that I don´t get solve.

How can I build wxFreeChart 1.6 using wxWidgets 3.0 on Windows 64 bits?

I had read many topics about this issue, in the majority of cases, they show that wxFreeChart is incompatible with wxWidgets 3.0.

However, it is possible according to viewtopic.php?f=30&t=42014. So, could I make it on Windows x64?

My application uses wxFreeChart 1.6 with wxWidgets 2.8 and the executable works fine in 32 bits mode (x64 system), but no luck in wxWidgets 3.0.

I got erros like this:

g++ -shared -fPIC -o ..\lib\gcc_dll\wxcode_msw30ud_freechart.dll gccmswud\wxfreechart_dll_legend.o gccmswud\wxfreechart_dll_pieplot.o gccmswud\wxfreechart_dll_art.o gccmswud\wxfreechart_dll_multiplot.o gccmswud\wxfreechart_dll_ganttdataset.o gccmswud\wxfreechart_dll_ganttsimpledataset.o gccmswud\wxfreechart_dll_ganttplot.o gccmswud\wxfreechart_dll_ganttrenderer.o gccmswud\wxfreechart_dll_plot.o gccmswud\wxfreechart_dll_renderer.o gccmswud\wxfreechart_dll_barrenderer.o gccmswud\wxfreechart_dll_barplot.o gccmswud\wxfreechart_dll_marker.o gccmswud\wxfreechart_dll_chart.o gccmswud\wxfreechart_dll_labelaxis.o gccmswud\wxfreechart_dll_logarithmicnumberaxis.o gccmswud\wxfreechart_dll_compdateaxis.o gccmswud\wxfreechart_dll_axis.o gccmswud\wxfreechart_dll_numberaxis.o gccmswud\wxfreechart_dll_categoryaxis.o gccmswud\wxfreechart_dll_dateaxis.o gccmswud\wxfreechart_dll_axisplot.o gccmswud\wxfreechart_dll_areadraw.o gccmswud\wxfreechart_dll_bubbleplot.o gccmswud\wxfreechart_dll_xyzdataset.o gccmswud\wxfreechart_dll_xyzrenderer.o gccmswud\wxfreechart_dll_polynom.o gccmswud\wxfreechart_dll_sinefunction.o gccmswud\wxfreechart_dll_xyplot.o gccmswud\wxfreechart_dll_xyarearenderer.o gccmswud\wxfreechart_dll_xydynamicdataset.o gccmswud\wxfreechart_dll_vectordataset.o gccmswud\wxfreechart_dll_xyhistorenderer.o gccmswud\wxfreechart_dll_xyrenderer.o gccmswud\wxfreechart_dll_xydataset.o gccmswud\wxfreechart_dll_xysimpledataset.o gccmswud\wxfreechart_dll_xylinerenderer.o gccmswud\wxfreechart_dll_ohlcrenderer.o gccmswud\wxfreechart_dll_ohlcbarrenderer.o gccmswud\wxfreechart_dll_ohlcplot.o gccmswud\wxfreechart_dll_ohlccandlestickrenderer.o gccmswud\wxfreechart_dll_ohlcdataset.o gccmswud\wxfreechart_dll_categorydataset.o gccmswud\wxfreechart_dll_categorysimpledataset.o gccmswud\wxfreechart_dll_symbol.o gccmswud\wxfreechart_dll_dataset.o gccmswud\wxfreechart_dll_chartsplitpanel.o gccmswud\wxfreechart_dll_colorscheme.o gccmswud\wxfreechart_dll_chartpanel.o -mthreads -LC:\SourceCode\Libraries\wxWidgets-3.0.2\lib\gcc_dll -g -L..\lib\gcc_dll -Wl,--out-implib=..\lib\gcc_dll\libwxcode_msw30ud_freechart.a -lwxmsw30ud -lwxtiffd -lwxjpegd -lwxpngd -lwxzlibd -lwxregexud -lwxexpatd -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lcomctl32 -lole32 -loleaut32 -luuid -lrpcrt4 -ladvapi32 -lwsock32 -lodbc32
makefile.gcc:340: recipe for target '..\lib\gcc_dll\wxcode_msw30ud_freechart.dll' failed

Now, I need create its executable to 64 bits targets, I mean a executable running in 64 bits mode.

I get create another application executable (without wxFreeChart) running in 64 bits mode, but only in wxWidgets 3.0.

For this reason, I want build wxFreeChart using wxWidgets 3.0.

I will apreciate some help.

Thanks in advance,

Carlos

Windows 7 Ultimate x64
wxFreeChart 1.6
wxWidgets3.0.2 with TDM-64: 5.1.0
wxWidgets2.8 with MinGW default Codeblocks
CodeBlocks 16

Re: Executables with wxFreeChart running in 64 bits mode

Posted: Wed Jan 18, 2017 7:34 am
by xaviou
Hi.

It seems the gcc makefile has an error (well, perhaps more than one, but one can be corrected to allow your build).

It seems that the build process is trying to link with the opengl wxwidgets lib instead of the aui one.

You can correct this : line 342 of the makefile (and only there) replace $(__WXLIB_GL_NAME_p) by $(__WXLIB_AUI_NAME_p) and your dll should be built correctly.

Regards
Xav'

Re: Executables with wxFreeChart running in 64 bits mode

Posted: Mon Jan 23, 2017 5:27 pm
by cscphi
Hi Xav,

I made the change, but it did not work. However, your tip helps me a lot. I realized that the names/types of lib´s wxwidgets in my computer was different of the statement in makefile.gcc. So, I rebuilded wxwidgets 3.0 with set BUILD=debug UNICODE=1 SHARED=0 MONOLITHIC=0 and I compiled wxFreeChart with WX_UNICODE=1 WX_DEBUG=1 WX_SHARED=0 WX_MONOLITHIC=0. I don´t know how to explain it, but it did work. The compilation created the static library and that´s enough for me. Unfortunately, I don´t get compile the dll´s.

Anyway, I´m very thankful for your help.

Best Regards,

Carlos

Re: Executables with wxFreeChart running in 64 bits mode

Posted: Wed Apr 26, 2017 7:56 pm
by iwbnwif
Hi, I found the same problem with wxWidgets 3.1.

I uploaded a new version of the makefile.gcc here:

https://github.com/iwbnwif/wxFreeChart/ ... kefile.gcc