Källkod-Mono


bild

http://monodevelop.com/

Monodevelop

Monodevelop är en "kors-plattform IDE" (Integrated Development Environments), d v s Integrerad Utvecklingsmiljö för såväl Linux, Mac OS som Windows (designed för C# och andra .NET languages som C/C++). Länkar till Skärmbilder och Beskrivningar av Utvecklingsmiljöer.

Mono och Monodevelop finns i de flesta distributioners normala pakethanterare och repositorier, dock inte Slackware.

I Slackware får man bygga/installera från http://slackbuilds.org/ eller SBOpkg

Beroenden

Använder du Slackbuilds installerar du mono monodevelop + ev mono-basic om du vill ha Visual Basic.NET support.
Eventuella underberoenden hittar du på Slackbuild-sidan [programnamn].info, under "REQUIRES".

I Debian/OpenSuSE behöver man mono-complete och monodevelop, I Fedora mono-core och monodevelop: monodevelop är byggmiljön, mono-complete är den miljö där man kör det färdigbyggda programmet.
Pakethanteraren tar i dessa fall hand om beroenden.

Programvaran kan annars hämtas här: http://monodevelop.com//Download

OBS! Min erfarenhet av Mono inskränker sig till byggandet av ett enda program, så beskrivningen här kan vara delvis missledande vad gäller andra!
I stället för att använda ett "avidentifierat" programnamn, använder jag här som exempel det program jag med min vän Håkan Nilssons hjälp byggde och körde i Mono: SDRSharp (eller SDR#), ett program i Gnuradiosviten.
SDR# har ett eget beroende (som inte har med Mono att göra): libportaudio2 som därför nämns i beroende-installationen.

Installation av Mono-miljön

Installera först (som root, eller sudo) mono-miljön och tilläggsberoenden för programmet som ska byggas.

$ sudo zypper in mono-complete monodevelop libportaudio2 (för OpenSUSE)
lösenord: ********


alternativt

$ su
lösenord: ******
# apt-get mono-complete monodevelop libportaudio2 (för Debian och derivaten)
# yum install mono-core monodevelop libportaudio2 (för Fedora)
# zypper in mono-complete monodevelop libportaudio2 (för OpenSUSE)


Hämta programvaran/källkoden (i det här fallet med subversion/svn och programmet sdrsharp) till lämplig byggkatalog i din /home

$ svn co https://subversion.assembla.com/svn/sdrsharp/trunk sdrsharp  [svn - Subversion command line client tool]


Får härigenom en ny katalog sdrsharp där jag står med terminalen.
Navigera till den katalogen

$ cd sdrsharp/


Starta monodevelop

$ monodevelop


[-Här öppnas en gui -Graphic User Interface- för MonoDevelop-]
bild
I Det grafiska gränssnittet: Öppna /sdrsharp/SDRSharp.sln projeket. D v s
Arkiv->Öppna
bild
Ställ om Active Configuration från Debug|x86 till Release|x86.
Överst i Verktygsfältet "rullgardin"
bild
Markera i Vertygspanelen överst: Build→Build All.
Avslutas med
Build successful (nederst i gui) -Bild 4
bild
[Sedan följer ett par specifika inställningar/konfigurationer för SDRSharp som inget har att göra med Mono, men jag nämner ändå ifall någon prövar bygga programmet i Mono:

Navigera till den nu skapade katalogen Release

$ cd Release/


Gör nu två symboliska länkar:

/sdrsharp/Release> ln -s /usr/local/lib/librtlsdr.so librtlsdr.dll (som skapats av rtl-sdr installationen.)
/sdrsharp/Release> ln -s /usr/lib64/libportaudio.so.2 libportaudio.so (som skapats av libportaudio installationen)


With your favourite text editor open SDRSharp.exe.config and find the line

<!--  <add key="RTL-SDR / USB" value="SDRSharp.RTLSDR.RtlSdrIO,SDRSharp.RTLSDR" /> -->


and remove .net comments (Ta bort kommenteringarna: <!- - - - >) of so that it looks like:

<add key="RTL-SDR / USB" value="SDRSharp.RTLSDR.RtlSdrIO,SDRSharp.RTLSDR" />


Kommentera slutligen raden:

<!--  <add key="SDR-IQ" value="SDRSharp.SDRIQ.SdrIqIO,SDRSharp.SDRIQ" /> --> ]


Efter konfigurationerna: Om inte redan med terminalen i katalogen /sdrsharp/Release. Navigera dit:

$ cd /sdrsharp/Release


Starta programmet i mono-miljön:

$ mono SDRSharp.exe

bild
bild


Det går också att göra en programstartare till det programmet:
I Xfce t ex: startkommandot /home/din-user/din/katalog/för/mono/sdrsharp/Release/SDRSharp.exe


valid-xhtml10 Strict valid-css