编译wxWidgets时出错

时间:2017-07-06 10:45:04

标签: makefile codeblocks wxwidgets

我在this教程之后使用wxWidgets开始使用Code :: Blocks。

按照教程,我的第一步是:

cd C:\wxWidgets-3.0.3\build\msw

由于我在 C:\ Program Files \ CodeBlocks \ MinGW \ bin 目录中安装了 mingw32-make.exe ,接下来我执行以下操作(再次基于在教程上):

C:\wxWidgets-3.0.3\build\msw>"C:\Program Files\CodeBlocks\MinGW\bin\mingw32-make" -f makefile.gcc BUILD=release SHARED=0 MONOLITHIC=1 UNICODE=1 CXXFLAGS=-fno-keep-inline-dllexport

我得到的输出是:

gcc -c -o gcc_mswu\wxregex_regcomp.o  -O2 -mthreads  -DHAVE_W32API_H -DNDEBUG -I
..\..\include -I..\..\lib\gcc_lib\mswu -D__WXMSW__  -D_UNICODE   -MTgcc_mswu\wxr
egex_regcomp.o -MFgcc_mswu\wxregex_regcomp.o.d -MD -MP ../../src/regex/regcomp.c

gcc: error: CreateProcess: No such file or directory
makefile.gcc:5702: recipe for target 'gcc_mswu\wxregex_regcomp.o' failed
mingw32-make: *** [gcc_mswu\wxregex_regcomp.o] Error 1

我认为找不到gcc,所以我需要编辑makefile.gcc

我是对的吗?

我不习惯制作文件,所以,我道歉但我需要一些帮助。

1 个答案:

答案 0 :(得分:0)

打开命令框并cd C:\wxWidgets-3.0.3\build\msw

输入并按Enter键:
PATH=%PATH%;C:\Program Files\CodeBlocks\MinGW\bin
这将为你的PATH添加mingw所需的文件(它们执行链接),仅用于命令框。如果您希望它永久化,请在Windows设置中修改PATH环境变量。

现在运行命令来编译wxWidgets:
mingw32-make" -f makefile.gcc BUILD=release SHARED=0 MONOLITHIC=1 UNICODE=1 CXXFLAGS="-std=gnu++11"如果你的mingw版本使用gcc> = 5.2,std=gnu+11标志是默认的(不需要)。无论如何使用它,它是无害的。

添加RUNTIME_LIBS=static可能会避免在路径上显示几个mingw库。这样您就可以在不提供这些库的情况下运行您的应用程序。

可能你会得到数以万计的警告(而不是错误)关于"弃用"与BestSize。这是一个gcc< 5.3 bug,而不是wx one。
你可以在include/wx/window.h处删除那些修改几行的消息但最好不要使用CB附带的旧版本并从http://www.mingw.org/下载最新的版本