Executables with wxFreeChart running in 64 bits mode

Talk here about issues with one of the components hosted at wxCode, or suggest features for it.
Post Reply
cscphi
In need of some credit
In need of some credit
Posts: 2
Joined: Mon Jan 16, 2017 8:11 pm

Executables with wxFreeChart running in 64 bits mode

Post 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
User avatar
xaviou
Super wx Problem Solver
Super wx Problem Solver
Posts: 437
Joined: Mon Aug 21, 2006 3:18 pm
Location: Annecy - France
Contact:

Re: Executables with wxFreeChart running in 64 bits mode

Post 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'
My wxWidgets stuff web page : X@v's wxStuff
cscphi
In need of some credit
In need of some credit
Posts: 2
Joined: Mon Jan 16, 2017 8:11 pm

Re: Executables with wxFreeChart running in 64 bits mode

Post 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
iwbnwif
Super wx Problem Solver
Super wx Problem Solver
Posts: 282
Joined: Tue Mar 19, 2013 8:52 pm

Re: Executables with wxFreeChart running in 64 bits mode

Post 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
wxWidgets 3.1.2, MinGW64 8.1.0, g++ 8.1.0, Ubuntu 19.04, Windows 10, CodeLite + wxCrafter
Some people, when confronted with a GUI problem, think "I know, I'll use Eclipse RCP". Now they have two problems.
Post Reply