wxIshiko / wxCharts

A library to create charts in wxWidgets applications
https://www.wxishiko.com/wxCharts/
MIT License
114 stars 50 forks source link

issue while compiling the demo of pie chart #209

Closed rodingbao closed 10 months ago

rodingbao commented 1 year ago

Dear all:

I am trying to compiling the demo of pie chart. the following messege displayed.

undefined reference to `wxPieChartCtrl::wxPieChartCtrl(wxWindow*, int, wxSharedPtr, wxPoint const&, wxSize const&, long)'

can anyone help or comment?

Best regards BZG

xleclercq commented 1 year ago

Hi, are you building on Windows? Can you check that the project includes the wxCharts.lib in the link options?

rodingbao commented 1 year ago

Yes,I built it in windows, I put libwxcharts.dll in my demo folder, and link with libwxcharts.dll.a, the demo of wxBarChartCtrl, wxLineChartCtrl and wxColumnChartCtrl worked well except wxPieChartCtrl.

xleclercq commented 1 year ago

Oh I see. Thanks for the clarification. I will have a look tonight.

xleclercq commented 1 year ago

I have tried to build the samples with the CMake build files using the following procedure.

mkdir build_cmake cd build_cmake cmake -G "Visual Studio 16 2019" -A x64 -DBUILD_SHARED_LIBS=ON -DBUILD_SAMPLES=ON .. cmake —build .

This successfully built the samples. It puts them in build_cmake/bin. This is using the most recent main branch.

I will try to build the samples from the IDE (rather than cmake --build .) later this week. However if you can try the procedure above and let me know if it works for you. I didn't spot any obvious difference between the wxPieChartCtrl and other chart classes that would explain why that one doesn't build.

rodingbao commented 1 year ago

thank you, xleclercq, I will download the branch and let you know the result.

rodingbao commented 1 year ago

Hi, xleclercq,

just update inforamtion for you.

I downloaded the newest main branch, and compiled with CMAKE and TDM-GCC 9.2, I got all the demo exe files , static library (libwxcharts.a) and dynamic library(libwxcharts.dll.a / libwxcharts.dll) .

I run all demo exe files , worked well.

then I try to complie pie and doughnut demo in IDE (clion), the doughnut works well, the pie occur issue "Process finished with exit code -1073741511 (0xC0000139)",

I think that the major different between pie and doughnut demo is definition of chart, dont know what happend.

wxDoughnutChartCtrl* doughnutChartCtrl = new wxDoughnutChartCtrl(window, wxID_ANY, chartData, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE);

wxPieChartCtrl* pieChartCtrl = new wxPieChartCtrl(window, wxID_ANY, chartData, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE);

Best regards BZG

xleclercq commented 1 year ago

Did you try running this under a debugger? What does the callstack look like? Or alternatively, could you give me the complete example so I can compile and execute here?

rodingbao commented 1 year ago

I didnt run under a debugger, I attached the completed code as below, test.zip

it is a function to create 3 charts (column,doughnut and pie) in bSizer2, bSizer2 is sizer for chart.bSizer1 is the top sizer of dialog.

Fail to compile with message "Process finished with exit code -1073741511 (0xC0000139)"

when I delete following code, compile success and column,doughnut worked well.

   auto* pieChartCtrl = new wxPieChartCtrl(this, wxID_ANY, chartData2);
   bSizer2->Add(pieChartCtrl , 1, wxEXPAND);
image