gpt4 book ai didi

c++ - 在 Code::Blocks 中构建一个 wxWidgets 程序

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:55:11 34 4
gpt4 key购买 nike

我正在尝试构建 this wxWidgets sample program使用 Code::Blocks 12.11,但无论我尝试什么,构建都会失败。

例如构建日志显示如下(项目在X:\programming\c++\HelloWxWidgets下):

mingw32-g++.exe -Wall -fexceptions -g -D_GNUWIN32_ -D_WXMSW_ -DwxUSE_UNICODE -D_WXDEBUG_ -IC:\libraries\wxWidgets-2.8.12.01\include -IC:\libraries\wxWidgets-2.8.12.01\contrib\include -IC:\libraries\wxWidgets-2.8.12.01\lib\gcc_lib\mswud -c X:\programming\c++\HelloWxWidgets\hworld2.cpp -o obj\Debug2\hworld2.o mingw32-g++.exe -LC:\libraries\wxWidgets-2.8.12.01\lib\gcc_lib -o bin\Debug2\HelloWxWidgets.exe obj\Debug2\hworld2.o -static-libgcc C:\libraries\wxWidgets-2.8.12.01\lib\gcc_lib\libwxmsw28ud.a C:\libraries\wxWidgets-2.8.12.01\lib\gcc_lib\libwxmsw28ud.a(monolib_window.o): In function ZN8wxWindow6UpdateEv':
C:\BuildAgent\work\wxPack\wxwidgets\build\msw/../../src/msw/window.cpp:1643: undefined reference to
GdiFlush@0' C:\libraries\wxWidgets-2.8.12.01\lib\gcc_lib\libwxmsw28ud.a(monolib_window.o): In function ZNK8wxWindow13GetTextExtentERK8wxStringPiS3_S3_S3_PK6wxFont':
C:\BuildAgent\work\wxPack\wxwidgets\build\msw/../../src/msw/window.cpp:2132: undefined reference to
GetTextExtentPoint32W@16' C:\BuildAgent\work\wxPack\wxwidgets\build\msw/../../src/msw/window.cpp:2133: undefined reference to `GetTextMetricsW@8'

这些是我收到的一些构建消息

C:\libraries\wxWidgets-2.8.12.01\lib\gcc_lib\libwxmsw28ud.a(monolib_window.o)||In function ZN8wxWindow6UpdateEv':|
C:\BuildAgent\work\wxPack\wxwidgets\build\msw\..\..\src\msw\window.cpp|1643|undefined reference to
GdiFlush@0'| C:\libraries\wxWidgets-2.8.12.01\lib\gcc_lib\libwxmsw28ud.a(monolib_window.o)||In function ZNK8wxWindow13GetTextExtentERK8wxStringPiS3_S3_S3_PK6wxFont':|
C:\BuildAgent\work\wxPack\wxwidgets\build\msw\..\..\src\msw\window.cpp|2132|undefined reference to
GetTextExtentPoint32W@16'| C:\BuildAgent\work\wxPack\wxwidgets\build\msw....\src\msw\window.cpp|2133|undefined reference to `GetTextMetricsW@8'|

这里是完整的 build log和所有 build messages (顺便说一句,我没有 C:\BuildAgent 目录)

我正在使用 wxPack 2.8.12 (安装在 C:\libraries\wxWidgets-2.8.12.01 中)和 GCC 4.7.2(使用 mingw-get 与 C:\mingw 中的 Code::Blocks 分开安装)

这是 Code::Blocks 中的构建选项

提前感谢您的帮助:)

最佳答案

好吧,我终于成功了:)

如果有人像我一样想在 Code::Blocks 下的(最初)控制台项目中使用 wxWidgets,我将在此处发布要遵循的过程。有了这个,任何人都应该至少能够构建/运行 this sample code在 Wind0ws 环境下:

  1. 我假设 Code::Blocks 和 MinGW 已正确设置。
  2. http://www.wxwidgets.org/downloads/ 下载/安装 wxMSW (就我而言,我下载了 wxMSW-2.8.12-Setup.exe 并将其安装在 C:\libraries\wxWidgets-2.8.12 中)
  3. 打开命令提示符,需要构建 wxWidgets,我将以使用 unicode 的静态链接、整体、调试构建为例(更多信息 here):

    cd /D C:\libraries\wxWidgets-2.8.12\build\msw

    mingw32-make -f makefile.gcc BUILD=debug SHARED=0 MONOLITHIC=1 UNICODE=1

    :(mingw32-make will take some time to build the library)

  4. 打开代码:: block

  5. 创建一个新的控制台项目,或者如果您已经有一个控制台项目(并且您计划向其中添加一个 wxWidgets GUI)打开它
  6. 右键单击项目 > 构建选项
  7. Here are the build options我用于调试构建。 Code::Blocks build options for wxWidgets
  8. 构建并运行

[编辑] 除了 wx/wx.h 之外还应该包含 wx/app.h

#include <wx/wx.h>
#include <wx/app.h>

关于c++ - 在 Code::Blocks 中构建一个 wxWidgets 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15234293/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com