Du bist nicht angemeldet.

Werbeanzeige

xardias

Community-Fossil

Beiträge: 2 772

Wohnort: Santa Clara, CA

Beruf: Software Engineer

  • Private Nachricht senden

1 731

04.08.2015, 16:39

Endlich ein Build System gefunden, dass einfach nur gut ist! :D

Na willst du uns nicht verraten welches das ist damit wir auch "Jubel, Jubel, Freu, Freu und gluecklich" sein koennen? ;)

1 732

04.08.2015, 17:44

Bestimmt bjam :D
Das gibt Übersicht! Stay gold. | gnu.org | §\pi\approx\tfrac{7809723338470423412693394150101387872685594299}{2485912146995414187767820081837036927319426665}§ | Jabber: dasnacl@dasnacl.de (online?)

Julién

Alter Hase

Beiträge: 727

Wohnort: Bayreuth

Beruf: Student | Hilfswissenschaftler in der Robotik

  • Private Nachricht senden

1 733

04.08.2015, 19:01

Nö, Qt Build Suite.

So sieht z.B.: ein Build File für 'ne DLL aus:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import qbs 

Product{

    name: "NeDLL"
    type: "dynamiclibrary"
    
    files: [
    "bla1.cpp","bla2.cpp","bla3.cpp"]
    
    Depends{ name:"cpp" }
    
    cpp.defines: {
    if(qbs.targetOS == "linux")
        return "OS_LINUX"
    else if(qbs.targetOS == "windows")
        return ["OS_WINDOWS","BUILD_DLL"]
    else(qbs.targetOS == "osx")
        return "OS_MAC"
    }
    cpp.staticLibraries: {
        if(qbs.targetOS == "windows")
            return ["user32.lib",
                    "opengl32.lib"]
        else
            return ""
    }
    
    Export{
        Depends{ name: "cpp" }
        cpp.includePaths: ["include"]
    }
    

}


Die Syntax ist schnell zu erlernen und macht Sinn *hust* CMake *hust*
und arbeitet gut mit anderen Abhängigkeiten zusammen.
I write my own game engines because if I'm going to live in buggy crappy filth, I want it to me my own - Ron Gilbert

Hello_Kitty!

unregistriert

1 734

06.08.2015, 13:30

Build-Systeme machen mich mittlerweile richtig aggressiv, hatte es heute selbst mit solchen Quake-Files zu tun. Libs lassen sich nicht aktivieren, werden nicht gefunden, Pfade sind hartkodiert, einfach die totale Scheisse. Wieso müssen diese Teile so kompliziert sein und mir ständig im Weg umgehen? Wenn die Dinger schon zu inkompetent sind pkg-config selbst aufzurufen, sollen sie mir wenigstens eine einfache Möglichkeit geben die benötigten Libs von Hand anzuhängen, aber nichtmal das ist mehr trivial möglich. Die Build-Systeme sind heute oft komplizierter als die zu bauende Software selbst, das kann doch echt nicht mehr wahr sein.

Achja, und nach einem "reconfigure" begreift dieses Scheissteil nichtmal, dass es jetzt neu builden muss und verweigert mir einfach den Dienst. Schon toll was man sich dadurch an Arbeit spart!

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Hello_Kitty!« (06.08.2015, 13:57)


Beiträge: 1 235

Wohnort: Deutschland Bayern

Beruf: Schüler

  • Private Nachricht senden

1 735

06.08.2015, 14:42

Joa, Buildsysteme bringen mich auch regelmäßig an den Rand der Verzweifelung.

Meiner Meinung nach ist das völlig unnötig. Alles was ein Buildsystem im Kern können muss ist doch, einfache alle Source Dateien mit einer bestimmten kommandozeilenargumenten durch den Compiler zu schieben. Und danach vlt. noch das Selbe mit dem Linker. Das ist doch im Prinzip alles.

Und jeder der im Buildsystem irgendeinen Dreck wie Featuredetektion, Lib-Suche oder sonstige Programmlogik im Buildsystem hat, dem geht es eh zu gut. Dein Freund, der gute alte Präprozessor. Der kann das nämlich auch und ist auch noch portabel.

Und anstatt mit irgendwelchen Buildsystemen statische Libs zu bauen, bin ich seit einiger Zeit dazu übergegangen in meiner Software im Prinzip alle Libs einfach direkt zu meinen Sourcecode zu kopieren. Der Ärger den man sich damit spart, ist das wirklich wert. Der Build wird damit zum Kinderspiel.

1 736

06.08.2015, 18:16

Konnte endlich eine neue inklusiv Domain beantragen, nachdem die alte schon einen Monat lang gelöscht war. Hurra!
Besucht mich und meinen Blog unter:
www.simple-world.org

Du magst Tower Defense?
Dann probier doch mal Coregrounds aus ;)

cojo2015

Alter Hase

Beiträge: 524

Wohnort: bei mir zu Hause

Beruf: Schüler

  • Private Nachricht senden

1 737

06.08.2015, 20:32

Hurra! Heute habe ich mein erstes rotierendes Dreieck programmiert! Natürlich mit der TriBase und DirectX :)

1 738

06.08.2015, 22:34

Was habt ihr alle mit eurer tribase?
Besucht mich und meinen Blog unter:
www.simple-world.org

Du magst Tower Defense?
Dann probier doch mal Coregrounds aus ;)

Hello_Kitty!

unregistriert

1 739

07.08.2015, 05:40

Was habt ihr alle mit eurer tribase?
Retro-Computing, bei der Tribase kann man die Zylinderköpfe noch selbst tauschen und auch wenn sie schon etwas angerostet ist und einige raue Kanten aufweist, ist das nichts, was sich nicht mit einer Metallfeile und etwas handwerklichen Geschick lösen ließe. Bei diesen modernen Fahrzeugen mit 20 Seitenairbags, automatischem Einparksystem und Bremsassistent kann man ohne Autorisierungscode des Herstellers ja nicht einmal mehr unter die Motorhaube gucken. Echte Rennfahrer mit Schmieröl unter den Fingernägeln schalten halt lieber manuell.

Sylence

Community-Fossil

Beiträge: 1 666

Beruf: Softwareentwickler

  • Private Nachricht senden

1 740

07.08.2015, 07:28

Hurra! Heute habe ich mein erstes rotierendes Dreieck programmiert! Natürlich mit der TriBase und DirectX :)


Dann war diese Aussage ja richtig fundiert:
Also wenn du in der 3D Welt programmieren willst, dann rate ich dir zu DirectX. Das finde ich am besten.
Software documentation is like sex. If it's good you want more, if it's bad it's better than nothing.

Werbeanzeige