wxFreeChart和-mthreads

时间:2014-12-11 12:45:43

标签: windows cross-platform wxwidgets mingw32

我正在尝试为Windows平台开发一些绘图应用程序。我正在使用Debian并构建了wxWidgets来进行交叉编译,如here所述。 使用MinGW编译器,它工作得很完美,我在Linux下创建Win32应用程序没有问题。但是我遇到了一些wxFreeChart的麻烦。 我跑./configure --host=i386-mingw32 --with-wx-config=/usr/local/i586-mingw32/bin/wx-config 然后我运行'make'并得到关于

的错误
  

无法识别的命令行选项'-mthreads

这里的完整输出:

  

〜/ dev / freechart / bk-deps g ++ -c -o wxfreechart_lib_legend.o -I./include -I / usr / local / i586-mingw32 / lib / wx / include / i586-mingw32msvc-msw-unicode- static-3.0 -I / usr / local / i586-mingw32 / include / wx-3.0 -D_LARGEFILE_SOURCE = unknown -D__WXMSW__ -mthreads -O2 ./src/legend.cpp   g ++:错误:无法识别的命令行选项'-mthreads'   make:*** [wxfreechart_lib_legend.o]错误1

我见过的唯一建议是从代码中删除'-mthreads',但我不知道它在哪里(

1 个答案:

答案 0 :(得分:0)

上面描述的问题已经解决,但是构建wxFreeChart仍然没有运气。 我得到的下一个错误是关于一些额外的库,我最终解决了 CPPFLAGS="-I/usr/i586-mingw32msvc/include -I~/dev/wxWidgets-3.0.2/include" ./configure --host=i386-mingw32 --with-wx-config=/usr/local/i586-mingw32/bin/wx-config 我不确定从源文件夹~/dev/wxWidgets中包含 .h 是个好主意,但至少它解决了一些问题。

现在 make 会崩溃,例如:

In file included from /usr/local/i586-mingw32/include/wx-3.0/wx/wx.h:17:0, from ./include/wx/wxfreechartdefs.h:20, from ./include/wx/legend.h:13, from ./src/legend.cpp:10: /usr/local/i586-mingw32/include/wx-3.0/wx/list.h: In constructor ‘wxListKey::wxListKey(const wxString&)’: /usr/local/i586-mingw32/include/wx-3.0/wx/list.h:381:40: error: invalid use of incomplete type ‘class wxString’

/usr/local/i586-mingw32/include/wx-3.0/wx/containr.h:247:13: error: incomplete type ‘wxNavigationEnabled<wxControl>::BaseWindowClass {aka wxControl}’ used in nested name specifier make: *** [wxfreechart_lib_legend.o] Error 1