我试图将wxHaskell安装到运行Windows XP64的计算机上,并使用gcc从源代码构建MinGW/MSYS和wxWidget 3.0。我做了:

cabal install wx

并得到一个错误:
...
Configuring wxc-0.90.0.4...
setup.exe: wx-config: does not exist
Failed to install wxc-0.90.0.4
cabal.exe: Error: some packages failed to install:
wx-0.90.0.1 depends on wxc-0.90.0.4 which failed to install.
wxc-0.90.0.4 failed during the configure step. The exception was:
ExitFailure 1
wxcore-0.90.0.3 depends on wxc-0.90.0.4 which failed to install.

我已经成功地使用wxWidgets用C++(gcc)编写了一个示例应用程序。所以我确实有一个可以正常工作的wxWidget安装。我在下面有wx-config:
$ which wx-config
/usr/local/bin/wx-config

问题在于wx-config是一个unix shell脚本,cabal(从MSYS调用)以某种方式拒绝识别它,即使它在系统路径上也是如此。如果我在MSYS中运行wx-config,则会得到类似以下内容的信息:
$ wx-config --cxxflags
-I/usr/local/lib/wx/include/msw-unicode-3.0 -I/usr/local/include/wx-3.0 -D_LARGE
FILE_SOURCE=unknown -DWXUSINGDLL -D__WXMSW__ -mthreads

我问了一个问题https://stackoverflow.com/questions/21998763/how-to-convert-msys-shell-scripts-to-windows-exe-files,以查看是否可以将脚本转换为exe,但是没人回答任何解决方案。

这里还有一个相关的问题wxHaskell installation on windows,另一个是wx 0.90.0.1 fails to install on Haskell Platform 2012.2.0.0 (WinXP)。实际上,我找不到可以正常工作的答案。另外,这里的错误/设置似乎有所不同,或者其中的答案似乎无法解决我的问题。特别是,我从https://sourceforge.net/projects/wxhaskell/files/wx-config-win/每个http://www.haskell.org/haskellwiki/WxHaskell/Windows下载了一个外部wx-config.exe。但是运行wx-config.exe无法识别我的wxWidget安装,并且总是给我一个关于找不到wxWidgets的错误,如下所示:
$ ./wx-config.exe --prefix=/usr/local/
wx-config Error: wxWidgets hasn't been found installed at 'C:\MinGW\msys\1.0\loc
al'.

Please use the --prefix flag (as in wx-config --prefix=C:\wxWidgets)
or set the environment variable WXWIN (as in WXWIN=C:\wxWidgets)
to specify where is your installation of wxWidgets.

任何想法如何解决此问题?

谢谢,

- 更新 -

我尝试过的@JP:
C:\temp\wxdirect-0.90.0.1>runhaskell Setup configure --extra-lib-dirs=c:\MinGW\lib --extra-include-dirs=c:\MinGW\include --extra-include-dirs=c:\MinGW\msys\1.0\local\include
Configuring wxdirect-0.90.0.1...

并得到了
Setup: At least the following dependencies are missing:
containers >=0.2 && <0.5, strict -any

我对wxdirect.cabal进行了调整,以绕过> = 0.2 &&

最佳答案

我已经编写了一个Powershell脚本,该脚本可以自动设置MinGW和wxWidgets的下载/构建,以便为Windows 7构建wxHaskell。

https://github.com/cessationoftime/wxHaskell-Windows-Builder

09-25 22:29