0

有人可以指导我如何使用 Windows 命令提示符或 MSYS 编译 wxwidget。[我似乎在 wxwiki/wxwidget 官方书籍/其他任何地方都找不到任何东西]

我已经根据他们提供的指令(使用 MSYS)编译了 wxwidget。

从互联网上搜索似乎可以(也许?)通过使用 MAKEFILE 来做到这一点(对吗?)

如果是:什么目录和我应该如何链接 MAKEFILE 中的 wx 库如果不是:除了 MAKEFILE 之外还有什么方法?

我知道我可以使用 IDE 之类的 code::block 并使生活更简单,但我更喜欢使用命令提示符/msys 进行编译。

提前致谢。

4

1 回答 1

0

我已经创建了一个关于这个主题的视频https://www.youtube.com/watch?v=f6FDNR3lh8E 这里有一些小而简单的步骤。

前置要求:

  1. 下载并安装了 GNU g++ 编译器。

  2. 将 gcc/g++ 路径设置为环境变量。

  3. 下载 WxWidgets 二进制文件:1. 头文件,2. 开发文件,3. DLL。

  4. 然后按原样提取一个文件夹。我在 D:\WxAPI 文件夹中提取了它们。看起来像:D:
    - WxAPI 文件夹 - 包含(头文件有这个文件夹压缩在 .7z 中) - lib(开发文件和 DLL 有这个文件夹压缩在 .7z 和两个提取在这个保存文件夹中)

  5. 设置您的项目开发结构。

    我的项目开发结构:

     WxExample (Project Folder)
             - Build (Folder) : Contains debug and release dlls and exe
                 - debug (Folder) : Contains debug specific dlls and exe.
                 - release (Folder) : Contains release specific dlls and exe.
             - inlcude (Folder) : Contains project header files.
             - src (Folder) : Contains project .cpp files.
             - wxCompiler.cmd : Contains compile command created with following steps.
    
  • 写编译命令

    • 链接到编译。
    1. 首先编译项目 *.cpp 文件:g++ ".\src*.cpp"

    2. 给项目输出 .exe 名称:-o ".\build\release\Project_Name.exe"

    3. 向 g++ 显示项目 .h 文件位置:-I ".\include"

    4. 提供 WxWidget .h 文件:-I "D:\WxAPI\include"

    5. 找到 WxWidget setup.h 文件:-I "D:\WxAPI\lib\gcc810_x64_dll\mswu"

    6. 提供 WxWidgets 的二进制文件位置:-L "D:\WxAPI\lib\gcc810_x64_dll"

    7. 提供编译标志:-l wxbase31u -l wxmsw31u_core

    • 这里 D:\WxAPI\lib\gcc810_x64_dll\libwxbase31u.a 文件重命名为“wxbase31u”和 D:\WxAPI\lib\gcc810_x64_dll\libwxmsw31u_core.a 文件重命名为“wxmsw31u_core”作为标志。

    • 您必须添加与项目中使用的类似的文件标志为 .h

    • 例如:-lwxmsw31u_core -lwxbase31u -lwxtiff -lwxjpeg -lwxpng -lwxzlib -lwxregexu -lwxexpat -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lshlwapi -lcomctl32 -lole32 -loleaut432 -luuid -lversion -lr lwsock32 -lwininet -loleacc -luxtheme

    • 这是完整命令: g++ ".\src*.cpp" -o ".\build\release" -I "D:\WxExample\include" -I "D:\WxAPI\include" -I "D:\WxAPI \lib\gcc810_x64_dll\mswu" -L "D:\WxAPI\lib\gcc810_x64_dll" -l wxbase31u -l wxmsw31u_core

    • 运行 wxWidgets.cmd 就可以了。您的 exe 在您的 .\Build\release 文件夹中。

    1. 在环境变量中设置 WxWidget DLL 路径。如果您不想将所需的 dll 粘贴到您的发布/调试文件夹中。
于 2021-03-19T15:11:29.950 回答