【问题标题】:Problems to compile source code with wxWidgets (MinGW mode) on Windows 10在 Windows 10 上使用 wxWidgets(MinGW 模式)编译源代码的问题
【发布时间】:2026-02-12 03:30:01
【问题描述】:

我在 Windows 中编译代码时遇到了严重问题(http://www.regard3d.org 上的regard3d)。我在 * 和其他网站上阅读了很多帖子(这个问题被阻止了两天),但没有成功。

问题是它需要wxWidgets。为此,我正在使用 MinGW。我有 VS 社区(最新版本)。我运行我的 CMakeLists.txt 并且每次收到消息时

Could NOT find wxWidgets (missing: wxwidgets_LIBRARIES wxwidgets_INCLUDE_DIRS)

我将wxWidgets安装目录(即C:\wxWidgets-3.1.0)包含在PATH变量中(我重启后生效)并创建了变量WXWIN(也包含安装目录)。

问题:我能做些什么来解决它?

我认为问题不在于构建 wxWidgets,而是让它在我的 cmake 中找到。如前所述,我使用 MinGW 构建它,因此我有文件夹 C:\wxWidgets-3.1.0\lib\gcc_dll 和文件夹 C:\wxWidgets-3.1.0\include,其中包含另外两个名为 wxmsvc 的文件夹。我在调用 cmake 之前使用以下设置:

set wxWidgets_ROOT_DIR=C:\wxWidgets-3.1.0
set R3D_ALT_wxWidgets_INCLUDE_DIRS=include
set R3D_ALT_wxWidgets_LIBRARIES=lib\gcc_dll 
set wxWidgets_CONFIG_EXECUTABLE=build\msw 

【问题讨论】:

  • 我认为你必须修改 cmake-3.x/share/cmake-3.x/modules 中的 FindwxWidgets.cmake。在第 468 行,您可以插入 wxWidgets-3.1.0。在我的电脑上,我也定义了 wxDir=c:\wxWidgets-3.1.0 和 wxWin=c:\wxWidgets-3.1.0
  • @DiegoCoelho,你编译 wxWidgets 了吗?如果是 - 您使用的是 MinGW 还是 VS?请记住,您可以直接使用 VS 编译它,然后链接到您自己的项目 - 不需要 CMake。好的,看看这个问题,我相信你应该声明 wxwidgets_LIBRARIES 和 wxwidgets_INCLUDE_DIRS 而不是“R3D_ALT...”,就像错误所说的那样。
  • 1.-你有最新版本的cmake吗?
  • 乔尔,是的,我昨天刚刚下载/安装。伊戈尔,非常感谢,我昨天解决了这个问题,也用 VS 编译(不仅是 MinGW),它成功了!!!非常感谢!

标签: c++ c windows compilation wxwidgets


【解决方案1】:

我对 wxWidgets 不是很熟悉(所以这可能应该是一个评论,但我不能评论,因为原因......),但应该工作的快速破解只是抛出路径LD_LIBRARY_PATH 中的库或通过添加包含它

CPPFLAGS += -L C:\wxWidgets-3.1.0\lib\gcc_dll -I C:\wxWidgets-3.1.0\include

到你的makefile。

如果做不到这一点,您可以在 makefile 之外显式设置它所抱怨的环境变量。

再次抱歉,这应该是一条评论。不是……如果有人想把它复制到评论中并删除它,那就太好了。

【讨论】:

    【解决方案2】:

    谢谢大家。解决了!昨天我用 MinGW 和 VS 编译并解决了 wxWidgets-3.1.0_INCLUDE_DIRS 并且它工作了!

    【讨论】:

      最近更新 更多