Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
St_W
![](images/avatars/106287718549fca05d5271f.jpg)
Anmeldungsdatum: 22.07.2007 Beiträge: 949 Wohnort: Austria
|
Verfasst am: 11.02.2009, 17:59 Titel: Programm für Linux compilieren |
|
|
Hallo,
Da sich Linux wieder einmal nicht an den (in der Praxis üblichen) Windows/DOS Standard hält und mit EXE's und DLL's nichts anfangen kann, habe wieder einmal eine Frage:
Wie kann man mit FreeBasic Programme erstellen, die unter Linux funktionieren? Geht das nur unter Linux mit der Linux-Version von FreeBasic, oder kann man auch unter Windows ein Programm für Linux erstellen?
Wie funktioniert das mit DLL-Dateien? Linux kennt ja sowas meines Wissens nach nicht. Was brauche ich statt der DLL für Linux und wie kriege ich diese?
Falls das Compilieren von Linux Programmen nur unter Linux möglich sein sollte, bitte möglichst Idiotensicher erklären, da ich von Linux bis jetzt nicht wirklich viel Ahnung habe und meine bisherigen Erfahrungen mit dem Zeugs (ist schon etwas länger her) noch keine Guten waren (Alles in Allem viel zu kompliziert [Verallgemeinerung, die ausnahmsweise korrekt ist (mMn) ] ).
Ich möchte nämlich, dass ein Programm von mir auch bei einem Freund (der ausschließlich Linux [Fedora] verwendet) funktioniert.
LG,
St_W _________________ Aktuelle FreeBasic Builds, Projekte, Code-Snippets unter http://users.freebasic-portal.de/stw/
http://www.mv-lacken.at Musikverein Lacken (MV Lacken) |
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
28398
Anmeldungsdatum: 25.04.2008 Beiträge: 1917
|
Verfasst am: 11.02.2009, 18:48 Titel: |
|
|
Also wenn du deinen Post mit "Da sich Linux wieder einmal nicht an den (in der Praxis üblichen) Windows/DOS Standard hält und mit EXE's und DLL's nichts anfangen kann, habe wieder einmal eine Frage" beginnst, wird dir hier niemand helfen.
PE ein ziemlich unflexibles Format, und definitiv kein Industriestandart |
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
Lutz Ifer Grillmeister
![](images/avatars/1302842056442e9d2b2cde4.gif)
Anmeldungsdatum: 23.09.2005 Beiträge: 555
|
Verfasst am: 11.02.2009, 18:49 Titel: Re: Programm für Linux compilieren |
|
|
St_W hat Folgendes geschrieben: | Da sich Linux wieder einmal nicht an den (in der Praxis üblichen) Windows/DOS Standard hält |
1.) Windows/DOS sind definitiv nicht "in der Praxis üblich"
2.) Es gibt keinen "EXE-Standard" - es gibt verschiedene Formate, und die sind alle weit von "standartisiert" entfernt.
St_W hat Folgendes geschrieben: | und mit EXE's und DLL's nichts anfangen kann, |
Wine.
St_W hat Folgendes geschrieben: | Wie kann man mit FreeBasic Programme erstellen, die unter Linux funktionieren? |
Entweder in deiner IDE auf "compilieren" klicken, oder die konsole verwenden, und "fbc programm.bas" eintippen - oder einfach unter Linux die Linuxversion des Compilers benutzen.
St_W hat Folgendes geschrieben: | Geht das nur unter Linux mit der Linux-Version von FreeBasic, oder kann man auch unter Windows ein Programm für Linux erstellen? |
nennt sich cross-compilinig.
St_W hat Folgendes geschrieben: | Wie funktioniert das mit DLL-Dateien? Linux kennt ja sowas meines Wissens nach nicht. Was brauche ich statt der DLL für Linux und wie kriege ich diese? |
heißen ".so"
St_W hat Folgendes geschrieben: | bitte möglichst Idiotensicher erklären, da ich von Linux bis jetzt nicht wirklich viel Ahnung habe |
offensichtlich.
St_W hat Folgendes geschrieben: | (Alles in Allem viel zu kompliziert [Verallgemeinerung, die ausnahmsweise korrekt ist (mMn) ] ). |
persönliche meinung einer fachlich inkompetenten person = völlig wertlos.
St_W hat Folgendes geschrieben: | Ich möchte nämlich, dass ein Programm von mir auch bei einem Freund (der ausschließlich Linux [Fedora] verwendet) funktioniert. |
Grüß' Deinen Freund - recht hatter!
Lutz Ifer _________________ Wahnsinn ist nur die Antwort einer gesunden Psyche auf eine kranke Gesellschaft. |
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
dreael Administrator
![](images/avatars/112279543641421ec80e8e2.gif)
Anmeldungsdatum: 10.09.2004 Beiträge: 2509 Wohnort: Hofen SH (Schweiz)
|
Verfasst am: 11.02.2009, 22:27 Titel: Re: Programm für Linux compilieren |
|
|
Lutz Ifer hat Folgendes geschrieben: | 2.) Es gibt keinen "EXE-Standard" - es gibt verschiedene Formate, und die sind alle weit von "standartisiert" entfernt. |
Ergänzung von meiner Seite dazu: In der UNIX/Linux-Welt zeichnet sich eine ausführbare Datei mit gesetztem "x"-Permission-Bit (z.B. "chmod 755") aus.
Dateiinhalt kann entweder ein richtiges Binary oder nur ein Script sein. Scripte brauchen immer einen Interpreter; dieser wird mit
(sog. Shebang) zu Beginn angegeben, z.B.
Als Binärformate sind ELF und teilweise auch COFF üblich. _________________ Teste die PC-Sicherheit mit www.sec-check.net |
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
St_W
![](images/avatars/106287718549fca05d5271f.jpg)
Anmeldungsdatum: 22.07.2007 Beiträge: 949 Wohnort: Austria
|
Verfasst am: 12.02.2009, 09:55 Titel: |
|
|
Eigentlich wollte ich ja nur wissen, wie man ein Programm, das unter Windows einwandfrei funktioniert und eine DLL-Datei benötigt, für Linux compilieren kann. Was Cross-compiling, Wine, SO-Dateien, ELF, ... ist, weiß ich selbstverständlich. Nur weiß ich z.B. nicht, wie man das mit dem FBC macht - vorzugsweise unter Windows.
So wenig Ahnung von Linux habe ich nun auch wieder nicht, wie ihr vermutlich meint. Ich habe immerhin seit mehreren Jahren eine Linux Distribution auf meinem Laptop installiert (Sidux), mit der ich hier und da auch etwas mache.
[OT]
Ich wollte eigentlich keine Windows / UNIX / Solaris / Mac / .. Diskussion auslösen... trotzdem will ich meine Aussagen belegen:
Die klare Mehrheit der 08/15-PC-Nutzer verwendet nunmal Windows und an diese Zielgruppe soll sich mein Programm richten. Auch wenn es nicht tatsächlicher (formeller) Standard ist (ist ja nicht durch die ISO, ANSI, etc. standardisiert) ist es praktischer Standard, weil einfach 97% dieser Personen mit EXE was anfangen können, und mit dem Begriff Linux wahrscheinlich nicht einmal ein Betriebssystem verknüpfen. Das war mit dem ersten Satz gemeint. Weiters können PC's die man im Computerfachgeschäft (z.B. Media Markt, Saturn, Conrad, Hofer (für alle Deutschen: Aldi)) erwirbt, auch meistens mit EXE's umgehen
Ich weiß sehr wohl, dass Linux mit Wine o.ä. Exe-Programme "emulieren" kann, aber das ist etwa so ähnlich, wie unter Windows mit cygwin - einfach nicht 100% kompatibel. So tiefgreifende Erweiterungen für ein Betriebssystem, die nicht nativ implementiert, sind einfach nicht so gut wie nativ laufende Programme. Ist ungefähr dasselbe, wie wenn ich unter Windows den Taskwechsler mit einem Zusatzprogramm ändern will - er wird nie so gut funktionieren, als wenn er direkt in Betriebssystem integriert wäre.
[/OT] _________________ Aktuelle FreeBasic Builds, Projekte, Code-Snippets unter http://users.freebasic-portal.de/stw/
http://www.mv-lacken.at Musikverein Lacken (MV Lacken) |
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
dreael Administrator
![](images/avatars/112279543641421ec80e8e2.gif)
Anmeldungsdatum: 10.09.2004 Beiträge: 2509 Wohnort: Hofen SH (Schweiz)
|
Verfasst am: 12.02.2009, 16:57 Titel: |
|
|
In diesem Fall würde ich Dir eher dazu raten, Dein Projekt beispielsweise in Java zu realisieren, da dort die Runtime (JVM) die Plattformunterschiede wieder ausgleicht.
Wiederum als Feedback fürs FreeBasic-Entwicklerteam: Evtl. über eine Compiler (oder sogar Interpreter)-Variante mit einem Zwischencode (Idealfall wäre etwas bereits vorhandenes mitbenutzen können) nachdenken, um plattformunabhängige Software-Distribution zu ermöglichen.
Ansonsten hatte ich deswegen in früheren Postings auch schon Andeutungen gemacht, dass ein Portability-Projekt sinnvoll wäre, also der Entwicklung einer plattformunabhängigen Library, die funktionell sämtliche Ansprüche moderner PC-Nutzung abdeckt, plattformspezifische APIs aber komplett einkapselt. Ziel: Quelltext ohne einen Buchstaben ändern zu müssen auf den verschiedenen Plattformen als Binary übersetzen zu können. _________________ Teste die PC-Sicherheit mit www.sec-check.net |
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
28398
Anmeldungsdatum: 25.04.2008 Beiträge: 1917
|
Verfasst am: 12.02.2009, 23:08 Titel: |
|
|
@Dreael:
GTK+, SDL, wxWidgets, openGL, openAL, FMOD, (Bass), ... |
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
creepi
Anmeldungsdatum: 13.06.2010 Beiträge: 59
|
Verfasst am: 31.10.2012, 00:31 Titel: |
|
|
Gibt es denn seitens freebasic / fbide mitlerweile eine "einfache" möglichkeit auf ein windows betriebsystem hinzugehen und dort eine datei für linux zu compilieren? Wie zb. TSNE, soll ja windows / linux fähig sein.
Sofern es denn möglich wäre es zu compilieren sollte es auch laufen auf ein linux system. Denk ich mir jetzt mal so.
Nur, wie die .bas für linux lesbar machen?
gibt es da ein programm welches man nutzen kann?
Danke schon mal im voraus. |
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
28398
Anmeldungsdatum: 25.04.2008 Beiträge: 1917
|
Verfasst am: 31.10.2012, 00:34 Titel: |
|
|
Jopp, heißt fbc. |
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
creepi
Anmeldungsdatum: 13.06.2010 Beiträge: 59
|
Verfasst am: 31.10.2012, 00:39 Titel: |
|
|
ich weiß jetzt nicht so recht ob ich lachen oder weinen soll.
direkt mit der console von fb hat ich mal zu tun, für ein icon.
Doch compiliere ich meistens mit fbide.
Eine anleitung wie man nun bei windows installierten fb in linux programm abspeichert fand ich nichts.
Magst mir verraten wie das von statten gehen soll?
edit: oder noch besser, ist dir ein tutorial bekannt wo darauf eingegangen wird von windows zu linux system? |
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
28398
Anmeldungsdatum: 25.04.2008 Beiträge: 1917
|
Verfasst am: 31.10.2012, 00:49 Titel: |
|
|
Noja, eigentlich ganz einfach. Du musst lediglich den fbc und die GCC-Toolchain selber übersetzen mit den Crosscompiling-Optionen für Linux. Dann ziehst du dir noch die passenden Header und Importlibs rüber und im Grunde kanns dann schon los gehen.
Ich glaube allerdings, dass das bisher noch nie jemand wirklich versucht hat produktiv einzusetzen... im Gegensatz zum umgekehrten Fall, weil nicht jeder an ein unfreies Windows-Betriebssystem kommt. |
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
creepi
Anmeldungsdatum: 13.06.2010 Beiträge: 59
|
Verfasst am: 31.10.2012, 00:57 Titel: |
|
|
den witz hab ich jetzt nicht wirklich verstanden
Sehe aber wohl, das deine aussage darauf hinaus läuft das windows zu linux proggen eher untypisch ist. Bleibt wohl nichts anderes übrig den einfacheren weg zu beschreiten und linux runterladen > usbstick > fb > irgend nen veraltenen ide und dann schauen obs läuft.
Sah da leider nur fbide ausn jahre 2007~ für linux was recht schade ist...
Naja, mal schauen wie es läuft. |
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
nemored
![](images/avatars/18585278245ddb8b9d8710.png)
Anmeldungsdatum: 22.02.2007 Beiträge: 4604 Wohnort: ~/
|
Verfasst am: 31.10.2012, 00:58 Titel: |
|
|
Das war kein Witz; Cross-Compiling geht halt nicht so automatisch von sich aus. Irgenwoher muss der Windows-Compiler ja wissen, wie ein Programm im System XYZ aufgebaut sein muss. Wesentlich einfacher ist es, denke ich, eine Linux-Installation herzunehmen (z. B. in einer vm) und dort direkt zu compilieren. FBIDE läuft da natürlich nicht, aber Geany leistet da ganz gute Dienste (du kannst natürlich auch mal das plattformunabhängige wxFBE anschauen). _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
creepi
Anmeldungsdatum: 13.06.2010 Beiträge: 59
|
Verfasst am: 31.10.2012, 01:11 Titel: |
|
|
sorry falls das falsch / frech rüber kam. Das mit dem witz war bezogen auf "weil nicht jeder an ein unfreies Windows-Betriebssystem kommt".
Wobei, jetzt nach dem x´ten mal hab selbst ich es verstanden xD
> zb student > linux > proggen just4fun > kein windows vorhanden
> windows nutzer > selten proggen, wenn vom fach, dann linux? : )
schieben wir es mal auf die uhrzeit das ich da nicht hinterstieg
Danke für den tipp!
Werd zuerst mal wxfbe auspobieren notfalls dann eben doch über linux selber. |
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
ThePuppetMaster
![](images/avatars/15203237124744b0302dc46.gif)
Anmeldungsdatum: 18.02.2007 Beiträge: 1837 Wohnort: [JN58JR]
|
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
creepi
Anmeldungsdatum: 13.06.2010 Beiträge: 59
|
Verfasst am: 31.10.2012, 13:03 Titel: |
|
|
jau, das war was ich suchte, hat sogar schon im grunde funktioniert.
Hast PN
Und ich hab letzte nacht verzweifelt versucht das ganze mit linux zum laufen zu bekommen, schade um die zeit : D |
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
Input
Anmeldungsdatum: 28.07.2014 Beiträge: 59
|
Verfasst am: 13.09.2014, 08:24 Titel: |
|
|
Hätte da auch mal noch eine Frage: Unter Ubuntu kann ich die Programme compillieren und ausführen; aber wie starte ich das compillierte Programm? Mit "sudo" geht es jedenfalls nicht, geschweige denn mit "Doppelklick". ![mit den Augen rollen](images/smiles/icon_rolleyes.gif) |
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
ThePuppetMaster
![](images/avatars/15203237124744b0302dc46.gif)
Anmeldungsdatum: 18.02.2007 Beiträge: 1837 Wohnort: [JN58JR]
|
Verfasst am: 13.09.2014, 13:45 Titel: |
|
|
ohne grafik direkt im terminal mit: cd (ins verzeichniss wechseln) ./ (ausführen)
Code: | bla@linux: cd meinverzeichniss
bla@linux:~/meinverzeichniss$ ./meinprogramm
|
MfG
TPM _________________ [ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ] |
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
Input
Anmeldungsdatum: 28.07.2014 Beiträge: 59
|
Verfasst am: 13.09.2014, 13:59 Titel: |
|
|
Vielen Dank: mit ./ geht's; doch jedes mal das Terminal zu öffnen ist mir zu blöd, da mach ich das lieber mit dem Geany. ![zwinkern](images/smiles/icon_wink.gif) |
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
ThePuppetMaster
![](images/avatars/15203237124744b0302dc46.gif)
Anmeldungsdatum: 18.02.2007 Beiträge: 1837 Wohnort: [JN58JR]
|
Verfasst am: 13.09.2014, 14:01 Titel: |
|
|
mit nem doppelklick gehts faktisch auch .. dann musst allerdings in den einstellungen in deiner grafischen oberfläche (sofern vorhanden) einstellen, das das terminal geöffnet bleiben soll, welches bei text-basierten kommandozeilenprogrammen der fall ist.
MfG
TPM _________________ [ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ] |
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
|