windows 10上的wxWidgets 3.1.0项目错误

时间:2018-01-26 22:04:10

标签: c++ windows wxwidgets

我是新手,我需要帮助编译我的wxwidgets项目以使用代码块。

我下载了wxwidgets windows intaller' wxMSW-3.1.0-Setup.exe'来自http://www.wxwidgets.org/downloads/

我运行程序进行安装,然后我阅读了有关在系统属性>>高级系统设置>>环境变量中制作环境变量的信息。因此我通过将变量名称设置为" path"和变量值为" C:\ Program Files(x86)\ CodeBlocks \ MinGW \ bin"。

还阅读了有关在cmd提示符下为wxwidget进行构建的内容,因此请启动cmd并在下面输入此类过程(其中一些需要花费很长时间)。

  1. mingw32-make -v
  2. cd C:\ wxWidgets-3.1.0 \ build \ msw
  3. mingw32-make -f makefile.gcc clean
  4. mingw32-make -f makefile.gcc BUILD = debug SHARED = 0 MONOLITHIC = 1 UNICODE = 1
  5. mingw32-make -f makefile.gcc BUILD = release SHARED = 0 MONOLITHIC = 1 UNICODE = 1
  6. 毕竟我继续制作一个wxwidgets项目。 在制作wxwidgets项目时遇到两个错误"在你指定的wxwidgets目录中找不到匹配的调试配置"和"在您指定的wxwidgets目录中找不到匹配的发布配置"

    然后我跳过并继续进行项目,在构建和运行之后,我在下面遇到了这些错误。

    构建调试日志:

    -------------- Build:在testwx中调试(编译器:GNU GCC编译器)---------------

    mingw32-g ++。exe -LC:\ wxWidgets-3.1.0 \ lib \ gcc_lib -o bin \ Debug \ testwx.exe obj \ Debug \ testwxApp.o obj \ Debug \ testwxMain.o obj \ Debug \ resource。 res -mthreads -lwxmsw30u -lwxpng -lwxjpeg -lwxtiff -lwxzlib -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -luuid -lcomctl32 -lwsock32 -lodbc32 -mwindows C:/ Program Files(x86)/ CodeBlocks / MinGW / bin /../ lib / gcc / mingw32 / 4.9.2 /../../../../ mingw32 / bin / ld.exe:找不到-lwxmsw30u collect2.exe:错误:ld返回1退出状态 处理终止,状态为1(0分钟,5秒) 2个错误,0个警告(0分钟,5秒(秒))

    构建发布日志:

    -------------- Build:在testwx中发布(编译器:GNU GCC编译器)---------------

    windres.exe -IC:\ wxWidgets-3.1.0 \ include -IC:\ wxWidgets-3.1.0 \ lib \ gcc_lib \ mswu -J rc -O coff -i C:\ Users \ AJIKAH~1 \ DOCUME ~1 \ Programs \ WXWIDG~1 \ testwx \ resource.rc -o obj \ Release \ resource.res mingw32-g ++。exe -pipe -mthreads -D__GNUWIN32__ -D__WXMSW__ -DwxUSE_UNICODE -Wall -O2 -std = c ++ 11 -IC:\ wxWidgets-3.1.0 \ include -IC:\ wxWidgets-3.1.0 \ lib \ gcc_lib \ mswu -c" C:\ Users \ A JIKAH \ Documents \ Programs \ wxWidgets \ testwx \ testwxApp.cpp" -o obj \ Release \ testwxApp.o mingw32-g ++。exe -pipe -mthreads -D__GNUWIN32__ -D__WXMSW__ -DwxUSE_UNICODE -Wall -O2 -std = c ++ 11 -IC:\ wxWidgets-3.1.0 \ include -IC:\ wxWidgets-3.1.0 \ lib \ gcc_lib \ mswu -c" C:\ Users \ A JIKAH \ Documents \ Programs \ wxWidgets \ testwx \ testwxMain.cpp" -o obj \ Release \ testwxMain.o mingw32-g ++。exe -LC:\ wxWidgets-3.1.0 \ lib \ gcc_lib -o bin \ Release \ testwx.exe obj \ Release \ testwxApp.o obj \ Release \ testwxMain.o obj \ Release \ resource.res -s -mthreads -lwxmsw30u -lwxpng -lwxjpeg -lwxtiff -lwxzlib -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -luuid -lcomctl32 -lwsock32 -lodbc32 -mwindows C:/ Program Files(x86)/ CodeBlocks / MinGW / bin /../ lib / gcc / mingw32 / 4.9.2 /../../../../ mingw32 / bin / ld.exe:找不到-lwxmsw30u collect2.exe:错误:ld返回1退出状态 处理终止,状态为1(0分钟,33秒) 2个错误,0个警告(0分钟,33秒)

    现在我将代码:: blocks 16.01更新为代码:: blocks 17.01。

    有人可以帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:1)

你说你下载了" wxMSW-3.1.0-Setup.exe"。但这部分" ...找不到-lwxmsw30u ......"意味着您正在尝试与wxWidgets 3.0中的库链接。

要确保您的项目尝试链接到正确版本的wxWidgets,请在codeblocks向导的第二页(表示"请选择您要使用的wxWidgets版本"),一定要选择" wxWidgets 3.1.x"选项。

无法找到"匹配配置的另一个常见原因"问题是没有在向导的第8页上选择正确的选项(表示"请选择各种配置选项")。既然你说你用选项构建了库" SHARED = 0 MONOLITHIC = 1 UNICODE = 1",请务必检查" wxWidgets是作为单片库构建的#34;和"启用unicode"并确保"使用wxWidgets DLL"未经检查。

答案 1 :(得分:0)

@MrSudden,

你有没有理由将这个库建成MONOLITHIC?

不建议使用此配置,从长远来看可能会导致问题。 它也没有来自核心wx团队的大量测试,因此有很大的破损机会。

没有建筑物的好处"单片" library vs." multilib"之一。

谢谢。