gpt4 book ai didi

CMake:找到使用 MinGW/MSYS 构建的 wxWidgets?

转载 作者:行者123 更新时间:2023-12-05 04:18:04 30 4
gpt4 key购买 nike

我使用 MinGW 编译了 wxWidgets 2.8.12。为了实际进行构建,我通过 MSYS shell 调用了与 wxWidgets 一起分发的 autotools 构建文件,使用的安装前缀为 H:\MinGW-libs。

这样做的结果是我有一个 Unix 风格的文件树,其中包含我的 wxWidgets header 和库(它们是 .a 文件,而不是 .dll),根目录为 H:\MinGW-libs。

我的问题是我无法让 CMake 找到这些文件。当我尝试使用 CMake gui 中的“配置”按钮时,它发现了其他依赖项(即 boost,我必须为其指定 BOOST_ROOT,但它没有找到 wxWidgets。我看到 wxWidgets_ROOT_DIR 是我可以设置的可用常量但是没有明显的选择

H:\MinGW-libs(我的 wxWidgets 安装前缀)

H:\MinGW-libs\lib

H:\MinGW-libs\include

修正错误。

有一个old post on the CMake mailing list关于这个问题,但实际上没有任何信息表明如何在这个用例中修复它。我得到的唯一提示是,在“Unix 风格”文件树和“Windows 风格”文件树中寻找 wxWidgets 是有区别的。

如何让 CMake 找到安装在 Windows 7 上的 Unix 风格文件树中的 wxWidgets?有没有办法让 CMake 使用 wx-config?我问这个是因为从 MSYS 命令行使用 wx-config 获取 lib 和 header 位置工作得很好。

最佳答案

来自FindwxWidgets.cmake:

if(WIN32 AND NOT CYGWIN AND NOT MSYS)
set(wxWidgets_FIND_STYLE "win32")
else()
if(UNIX OR MSYS)
set(wxWidgets_FIND_STYLE "unix")
endif()
endif()

因此,“MSYS Makefiles”生成器 (cmake -G "MSYS Makefiles") 假定为 Unix 样式树,但“MinGW Makefiles”生成器不是。你用哪个?

关于CMake:找到使用 MinGW/MSYS 构建的 wxWidgets?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18433305/

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