Gå til innhold

Kompilerer mono likt under windows og linux?


Anbefalte innlegg

Jeg er ny på SharpDevelop og Mono.

 

Jeg installerte nettopp SharpDevelop, Mono, NCover, FxCop og .NET Framework SDK2.0.

 

Uten at jeg hadde installert .NET Framework 2.0 SDK, ville ikke mono kompilere noe som helst. Ikke en gang et prosjekt som ble generert fra New Project dialogen, ville den kompilere.

 

Etter at jeg installerte .NET Framework SDK og la inn C:\Program Files\mono-1.2\bin i PATH, ville den plutselig kompilere det meste. Men ville ikke kjøre noe i debug mode.

 

Spørsmålet er:

1.) Vil alle prosjekter som kompilerer under windows med mono også kompilere på Linux og Mac?

 

Det virker litt merkelig på meg at jeg skal være nødt til å installere .NET Framework for å kompilere under Windows. Og blir dermed litt skeptisk til om prosjektene fungerer på andre plattformer uten noe ekstra mekking.

 

2.) Er det likegyldig om man bruker Windows.Forms eller Gtk bibliotekene når man lager programmer med mono?

Lenke til kommentar
Videoannonse
Annonse

Jeg har kun testet Mono på Linux, men kan svare litt ihvertfall.

 

1) Syntes det var veldig rart at du måtte installere MS .Net 2.0. Dette skal ikke være nødvendig. Mono har egen compiler, akuratt som MS .Net. Om denne er like god som Microsoft sin vet jeg ikke, så bytecode'n som kommer ut er ikke nødvendigvis 100% lik. Men den skal kunne kjøre på både Mono og MS .Net. (C# og VB.Net compilerene til Microsoft kompilerer heller ikke 100% lik bytecode).

 

2) "Likegyldig". Windows forms fungerer best på Windows. På Linux og Mac trenger man vel Wine i tillegg til Mono for å kjøre disse (?). GTK fungerer bedre på Linux, men kjører også på Windows etter at man har installert GTK på Windows.

Lenke til kommentar
Jeg synes det er rart de ikke har kalt det System.Windows.Forms (men det ser kanskje litt rart ut med System.Windows)

De burde ha laget et rammeverk som var likt som System.Windows.Forms, med samme muligheter, for ellers ser jeg ikke helt poenget med Mono i det hele tatt...

7324659[/snapback]

 

 

Det heter da System.Windows.Forms i mono også :-P

Men siden dette krever endel spesifike Windows ting så har Mono prosjektet valgt å emulere dette med Wine. GTK er et alternativ til System.Windows.Forms. På lik måte som at man kan bruke GTK i andre programmeringsspråk også, ikke bare .Net. GTK er ikke alene heller. Blandt annet QT kan også brukes i .Net og andre språk.

 

http://qtcsharp.sourceforge.net/

Lenke til kommentar

Takker for svar.

 

Litt off topic, men:

Men Qt blir fullstendig uaktuelt å bruke. Man kan ikke bruke et støttebibliotek som kommer med GPL lisens hvis man er i tvil om man vil frigi sin egen kode.

 

Jeg snuser mer på wxWidgets, som jeg synes er et veldig spennende prosjekt. wxWidgets, må man vel ikke installere utenom, slik man må med Gtk? VLC bruker vel wxWidgets i windows?

 

Tilbake til topic:

Jeg tolker svaret ditt som at prosjekter som bruker Windows forms også vil kompilere på linux (selv om man kanskje må ha wine). Men du synes det er bedre å bruke et annet bibliotek. - Da får man vel ikke noen vindusdesigner? - Er ikke mye som er kjedeligere enn å skrive vinduer i kode.

 

 

---

Grunnen til at jeg skrev Windows.Forms var at man ikke trenger å bruke System. når man har skrevet:

using System;

først.

Lenke til kommentar

Har mest drevet med Mono for å teste... Burde vel ha prøvd litt igjen etterhvert som de begynner å bli ferdige med 2.0. Alt av kunder kjører Windows uansett, så derfor bruker jeg System.Windows.Forms. Eller Web Forms.... Eller console applikasjoner for små verktøy :)

 

Prosjektet vil ganske sikkert kompileres med Mono sin C# compiler. Eller så skal det også gå mer eller mindre smertefritt å kjøre .exe filer som er kompilert med MS sin csc.exe på Mono så lenge man har Wine :)

("ganske sikkert" og "mer eller mindre smertefritt" --- .Net er ikke heeelt på linje med Java når det gjelder platformuavhengighet ennå, men det kommer)

 

Har ikke testet wxWidgets. Men både Gimp og AMSN kjører med GTK.. GTK installasjonen er ganske liten også. Og de fleste Linux distro'er har den vel ferdig installert som default?

 

Du får si ifra hvordan det går :)

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...