2010-10-21 29 views
3

J'ai essayé de compiler du code F # avec Mono 2.8 dans OpenSuSe 11.3. Et je continue à courir des ennuis, je suis en train de faire cette erreur jeté sur moi:Compilation du code F # sur Mono 2.8

parameter error FS0219: The referenced or default base CLI library 'mscorlib' is 
binary-incompatible with the referenced F# core library '/home/fredrik/Documents/ 
FSharp-2.0.0.0/FSharp-2.0.0.0/bin/FSharp.Core.dll'. Consider recompiling the 
library or making an explicit reference to a version of this library that matches 
the CLI version you are using. 

L'utilisation de ces options pour le compilateur FSharp:

mono fsc.exe -o:FSKit.dll -g --debug:full --noframework --define:DEBUG 
--define:TRACE --optimize- --tailcalls- --platform:x86 -r:"FSharp.Core.dll" 
-r:"/usr/lib/mono/4.0/mscorlib.dll" -r:"/usr/lib/mono/4.0/System.Core.dll" 
-r:"/usr/lib/mono/4.0/System.dll" --target:library --warn:3 --warnaserror:76 
--vserrors --LCID:1033 --utf8output --fullpaths --flaterrors Src/Version.fs 
Src/Bit.fs Src/Reflection.fs Src/Perf.fs Src/Stream.fs Src/AssemblyInfo.fs 

Après avoir installé FSharp à partir du fichier fsharp.zip trouvé est-ce que je dois compiler FSharp.Core.dll avec mono également?/install-mono.sh: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=f8c623ae-aef6-4a06-a185-05f59be47d67&displaylang=en

Dois-je compiler FSharp.Core.dll avec mono?

Répondre

3

Je pense que la version CTP de F # est disponible uniquement pour l'exécution basée sur .NET 2.0 (c'est-à-dire de .NET 2.0 vers .NET 3.5), donc il n'y a pas d'installation autonome pour .NET 4.0. Étant donné que le format d'assemblage diffère un peu, vous devrez probablement utiliser la version 2.0 des bibliothèques Mono.

Je pense que les bibliothèques de référence de /usr/lib/mono/2.0 devraient résoudre le problème.

Et BTW, il y a un projet pour créer des paquets Linux et Mac pour F #. En utilisant le fichier ZIP et script d'installation fonctionne vraiment, mais l'installation d'un package peut être une option plus facile:

+0

Vous avez raison, merci :) – thr