2017-07-24 194 views
3

我是F#的新手,我試圖在Mac上運行我的代碼。我使用Visual Studio(Xamarin)並使用NuGet安裝FSharp.Charting.Gtk。我也有使用macports安裝Gtk3。FSharp.Charting.Gtk在啓動時崩潰

當我嘗試運行這個簡單的代碼:

open FSharp.Charting  

[<EntryPoint>] 
let main argv = 
    Chart.Line([ for i in 1 .. 10 -> i, i * i ]).ShowChart() 

它編譯,但只是在崩潰與推出這個漫長的錯誤: https://pastebin.com/4n8jBMi5

有誰知道我做錯了嗎?非常感謝

+0

您確定需要包含GtkSharp軟件包嗎?我在[FSharp.Charting文檔](https://fslab.org/FSharp.Charting/ReferencingTheLibrary.html)中看不到這一點。您是否嘗試過*通過MacPorts去除* GtkSharp版本3 DLL和/或Gtk3安裝,以便您的系統上剩下的唯一東西就是Gtk2? – rmunn

+0

你說得對。我不需要GtkSharp包,它只引入了自己的錯誤。這似乎是一個運行時錯誤找到我的顯示器,但我無法弄清楚什麼。 – vladb

回答

2

README in the FSharp.Charting repo說在Windows上,你需要安裝Gtk#版本2.12.26。我注意到你說你已經通過MacPorts安裝了Gtk3 - 但是你有沒有安裝Gtk2?據我所知,Gtk2和Gtk3 API不是100%兼容的,這就是爲什麼有一個主要的版本號凹凸。因此,如果FSharp.Charting代碼使用Gtk2 API,但只安裝了Gtk3,則可能是原因。 (我沒有Mac,所以我不能輕易檢查這個)。

+0

不幸的是,這並沒有爲我工作。我同時安裝了gtk2和3,但我得到了同樣的錯誤。 – vladb