R71*_*R71 5 haskell ghci haskell-platform winghci
我正在尝试使用Haskell Platform 2011.2.0.1在Haskell中编译一个简单的hello world程序.如果我在WinGHCi中加载代码,并使用GUI进行编译,则会创建.exe.然后我可以从Cygwin运行.exe.
但是如果我尝试在Cygwin中编译代码(使用ghc --make),链接器就会失败.但是,如果我从Windows cmd提示符编译,那么编译+链接器工作正常.
我需要将任何其他环境变量导入Cygwin,以使编译+链接器工作吗?我已经把下面迪尔斯在我的Cygwin的路径:2011.2.0.1/lib/extralibs/bin,2011.2.0.1/bin(这些是仅有的两个有效的Haskell相关的条目,我可以在Windows环境变量看).
我还注意到Windows环境变量中有几个无效项(这看起来像是Haskell安装中的一个错误):
C/ProgramFiles/Haskell/bin- 这个目录不存在,因为我在D盘中安装了Haskell.userxxx/ApplicationData/cabal/bin- 此目录不存在.我试图在HaskellPlatform中提交错误报告,但我没有权限这样做.
由于无法访问您的开发环境或您遇到的错误列表,我只能假设该问题与您设置PATH.
gccWindows 上的 GHC 与其自己的编译器(用于 C 代码)和链接器捆绑在一起ld。gcc如果您安装了 Cygwin,您可能还安装了 MinGW 工具链,它附带了自己的和版本ld。然后,您可能已经在 Haskell Platform 二进制目录的路径之前创建了PATH变量列表,这使得在找到与 GHC 捆绑的版本之前找到 MinGW 链接器和 C 编译器。/usr/binghc
您需要确保 HP 目录列在 Cygwin 目录之前。它不应该是这样的:
$ echo $PATH
/bin:/usr/bin:.../2011.2.0.1/bin
Run Code Online (Sandbox Code Playgroud)
相反,它应该是这样的:
$ echo $PATH
.../2011.2.0.1/bin:/bin:/usr/bin
Run Code Online (Sandbox Code Playgroud)
这只是对问题可能是什么的猜测,您应该提供更多详细信息以便更好地诊断。
| 归档时间: |
|
| 查看次数: |
1065 次 |
| 最近记录: |