我使用MinGW编译了wxWidgets 2.8.12。为了实际进行构建,我使用安装前缀H:\ MinGW-libs调用了通过MSYS shell与wxWidgets一起分发的autotools构建文件。
这样做的结果是我有一个Unix风格的文件树,其中包含我的wxWidgets头文件和库(.a文件,而不是.dll),根目录为H:\ MinGW-libs。
我的问题是我无法让CMake找到这些文件。当我尝试使用CMake gui中的“configure”按钮时,它会找到其他依赖项(即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和头位置工作得很好。
答案 0 :(得分:2)
来自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 Makefile”生成器。
你用哪一个?