【问题标题】:Run the interactive F# in 32 bit mode on Mac在 Mac 上以 32 位模式运行交互式 F#
【发布时间】:2018-02-28 03:44:36
【问题描述】:

当我在 Mac Os 上的 fsharpi 内时,我会这样做

open System.Windows.Forms;;
let f = new Form();;

我收到以下警告

警告:Carbon 驱动程序尚未移植到 64 位,Windows.Forms 的极少数部分可以正常工作,或者根本无法正常工作

Fontconfig 警告:忽略 UTF-8:不是有效的区域标签

Fontconfig 警告:忽略 UTF-8:不是有效的区域标签

Fontconfig 警告:忽略 UTF-8:不是有效的区域标签

Fontconfig 警告:忽略 UTF-8:不是有效的区域标签

val f : Form = System.Windows.Forms.Form

实际上没有任何效果。 有没有办法使用 32 位 Carbon 驱动程序?或者在 Mac 上运行使用 Windows 窗体的 F# 应用程序的另一种方式?

【问题讨论】:

  • 很遗憾,我不得不使用 windows 窗体和 fsharp(它用于大学课程,不能切换到另一种语言和/或另一个 gui 库)。

标签: macos winforms f# f#-interactive


【解决方案1】:

上周我在 macOS 上的 VS Code 中在 FSI 中运行一些 Windows 窗体代码时遇到了这个确切的问题。设置环境变量MONO_ENV_OPTIONS=--arch=32 应该可以解决问题:

$ MONO_ENV_OPTIONS=--arch=32 fsharpi
Microsoft (R) F# Interactive version 4.1
Copyright (c) Microsoft Corporation. All Rights Reserved.

For help type #help;;

> open System.Windows.Forms;;
> let f = new Form();;
val f : Form = System.Windows.Forms.Form, Text:

【讨论】:

  • 当我单击执行 f.Show() 后出现的窗口时,所有内容都卡住且无响应。你也有这种情况吗?
  • @GerardoZinno 当我的光标在某些元素上时,我确实看到了一些奇怪的“旋转沙滩球”行为,但我的表单在其他方面反应灵敏。
猜你喜欢
  • 2014-01-27
  • 2011-08-30
  • 2014-07-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-17
  • 2022-08-22
  • 2013-02-13
相关资源
最近更新 更多