Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

11

10.11.2016, 18:18

Gtkmm zu installieren ist ein Albtraum. Ich verwende nana, das ist ziemlich modern und schön zu bedienen.

12

13.11.2016, 13:26

Vielen Dank für den Tipp :) Es sieht so aus als bräuchte ich x11 Bibliotheken um ein Programm zu compilieren. Wie linke ich denn die x11 Bibliotheken?

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

13

13.11.2016, 13:52

Nun ja, da ich Ubuntu benutze fällt VS natürlich weg, [...]

Vielleicht einen Blick Wert: https://code.visualstudio.com/download ;)


Was deine Frage angeht: Es gibt leider kein wirklich gutes GUI Toolkit für C++ und schon gar kein portables. Wenn du eigentlich ein 2D Spiel machen wolltest, dann würd ich vorschlagen, dass du nicht deine Zeit mit GUI verschwendest, sondern dir einfach SFML nimmst und mal ein 2D Spiel machst... ;)

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

14

13.11.2016, 14:25


Vielleicht einen Blick Wert: https://code.visualstudio.com/download

IDEs gibt es für Ubuntu aber einige. Die sind nicht unbedingt so genial wie VS aber doch recht brauchbar. Viele schwören da ja tatsächlich auf Eclipse, wobei ich eher CLion oder KDevelop bevorzuge. Eine Übersicht gibt es zum Beispiel hier.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

15

06.12.2016, 20:09

Hallo nochmal, habe nun versucht Nana zu installieren, habe aber noch Schwierigkeiten. Ich habe den Quellcode von Nana heruntergeladen und mit dem beigelegten Makefile compliert. Beim complieren vom Bsp. Programm bekomme ich aber Fehler:

Quellcode

1
$ g++ -c main.cpp -std=c++11 -I/home/henrik/Dokumente/Programme/SDK/nana-static/include/

Funktioniert noch ohne Probleme. Beim linken gibt es aber Fehler:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
g++ main.o -L/home/henrik/Dokumente/Programme/SDK/nana-static/lib/ -lnana -lX11 -lpthread -lrt -lXft -lpng -lasound
/home/henrik/Dokumente/Programme/SDK/nana-static/lib//libnana.a(image.o): In Funktion `std::experimental::filesystem::v1::__cxx11::filesystem_error::filesystem_error(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::error_code)':
/usr/include/c++/5/experimental/fs_path.h:527: Nicht definierter Verweis auf `vtable for std::experimental::filesystem::v1::__cxx11::filesystem_error'
/home/henrik/Dokumente/Programme/SDK/nana-static/lib//libnana.a(image.o): In Funktion `std::experimental::filesystem::v1::__cxx11::path::extension() const':
/usr/include/c++/5/experimental/fs_path.h:910: Nicht definierter Verweis auf `std::experimental::filesystem::v1::__cxx11::path::_M_find_extension() const'
/home/henrik/Dokumente/Programme/SDK/nana-static/lib//libnana.a(image.o): In Funktion `std::experimental::filesystem::v1::__cxx11::path::path<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::experimental::filesystem::v1::__cxx11::path>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
/usr/include/c++/5/experimental/fs_path.h:167: Nicht definierter Verweis auf `std::experimental::filesystem::v1::__cxx11::path::_M_split_cmpts()'
/home/henrik/Dokumente/Programme/SDK/nana-static/lib//libnana.a(image.o): In Funktion `std::experimental::filesystem::v1::__cxx11::path::path<std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, std::experimental::filesystem::v1::__cxx11::path>(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&)':
/usr/include/c++/5/experimental/fs_path.h:167: Nicht definierter Verweis auf `std::experimental::filesystem::v1::__cxx11::path::_M_split_cmpts()'
/home/henrik/Dokumente/Programme/SDK/nana-static/lib//libnana.a(image.o): In Funktion `std::experimental::filesystem::v1::__cxx11::path::_Cvt<wchar_t>::_S_convert(wchar_t const*, wchar_t const*)':
/usr/include/c++/5/experimental/fs_path.h:637: Nicht definierter Verweis auf `std::experimental::filesystem::v1::__cxx11::filesystem_error::~filesystem_error()'
/usr/include/c++/5/experimental/fs_path.h:637: Nicht definierter Verweis auf `typeinfo for std::experimental::filesystem::v1::__cxx11::filesystem_error'
collect2: error: ld returned 1 exit status

Was fehlt denn zum Linken? Wie stelle ich ein ob ich Nana mit jpeg, png oder multithreading benutzen möchte? Ist jemandem eine gute Anleitung zur Installation und Grundlagen von Nana bekannt? Irgendwie scheitere ich immer beim Linker :dash:

Tobiking

1x Rätselkönig

  • Private Nachricht senden

16

06.12.2016, 20:52

Googeln nach "std::experimental::filesystem::v1" sagt -lstdc++fs fehlt.

LukasBanana

Alter Hase

Beiträge: 1 097

Beruf: Shader Tools Programmer

  • Private Nachricht senden

17

06.12.2016, 22:29


wxWidgets:
+ viele Features
+ nativer Look
- ziemlich kompliziert
- teilweise gar nicht zum laufen bekommen
- schreckliche Dokumentation
- Überladen
- wirkt ziemlich, nun ja zusammengeflickt...

Meinst du hier das gleiche wxWidget das ich kenne, oder gibt's da noch eine schlechte Variante von? :D

Thoran

Alter Hase

Beiträge: 520

Wohnort: Stuttgart

Beruf: Senior Software Engineer

  • Private Nachricht senden

18

07.12.2016, 15:05

Also ich hab mit Qt nur gute Erfahrungen gemacht. Ein recht umfangreiches Widgetset und der QtCreator ist für Linux wohl eine gute Wahl (auch wenn er nicht unbedingt meins ist, da ich mich lieber mit VS beschäftige). Und wenn man hinter die grundlegenden Mechanismen von Qt gekommen ist, klappt das GUI-Programme schreiben wie am Schnürchen.
Mein Entwicklertagebuch
Aktuelles Projekt: Universum Espionage
Eingestellt:Spieleengine SilverCore
Organisator "Spieleentwickler Stammtisch Stuttgart"

PuppetMaster

Frischling

Beiträge: 20

Beruf: Embedded-System Entwickler (C++)

  • Private Nachricht senden

19

08.12.2016, 00:02

QT:
+ gute Dokumentation
+ nativer Look
+ viele Features
- Kommerziell
- Überladen
- Ökosystem
- andere C++ Syntax


Qt ist open source und kann sowohl unter GPLv3 als auch unter LGPLv3 verwendet werden.
Ein einfacher Download über die Webseite wird von den TheQtCompany Marketingfritzen erschwert um die Einkäufer von Unternehmen dazu zu bewegen eine kommerzielle Lizenz zu kaufen...
Den Downloadlink für die aktuellen open source Versionen gibt es hier: https://download.qt.io/official_releases/qt/5.7/5.7.0/
Unter Linux einfach mit chmod +x die .run datei ausführbar machen, der grafische Installer lässt sich dann wie von Windows Installern gewohnt konfigurieren (Qt findet man aber auch in den Paketquellen aller gängigen Linux Distributionen).

Ob Qt überladen ist kann man ja nur als Geschmacksfrage abtun, die entwickler des LXQt Desktops (http://lxqt.org/) finden Qt "lightweight" und GTK 3 "bloated" und sind deswegen von GTK 2 auf Qt umgestiegen...
Persönlich finde ich z.B. das qtnetwork Modul viel einfacher zu benutzen als ZeroMQ und ACE; Zusammen mit FlatBuffers von Google ist die Netzwerkprogrammierung schon wesentlich komfortabler als man es von früher gewohnt ist.
Die QtCreator IDE sollte man sich auch zumindest mal angesehen haben, KDevelop ist aber auch nicht schlecht und mit Visual Studio funktioniert Qt auch einwandfrei.

Das Qt Ökosystem ist riesig z.B. der Mapeditor Tiled (http://www.mapeditor.org/) wurde mit Qt gemacht und eine Abteilung von Google hat ein Spiel mit Qt erstellt (http://blog.qt.io/blog/2014/07/21/google…-built-with-qt/) der Quellcode des Spiels ist auch open source (http://google.github.io/VoltAir/doc/main/html/index.html).
Es gibt außerdem noch speziell für die Spieleentwicklung das V-Play SDK (https://v-play.net/) was allerdings hauptsächlich Features mitbringt die ich nicht brauche.

Qt ist wesentlich älter als C++11 von daher gibt es natürlich Überschneidungen die von den Entwicklern nach und nach abgebaut werden, die Signal Slot Verbindungen kombiniert mit den C++11 Lambda Funktionen finde ich persönlich sehr gelungen.


PS: Naja, ich kann wohl kaum behaupten dass meine Meinung neutral ist, vielleicht auch weil ich seit mehr als 8 Jahren im Beruf und Privat mit Qt arbeite :P

Zitat von »"Billy Talent - Fallen Leaves"«

Run away before you drown, or the streets will beat you down.
Fallen leaves, fallen leaves, fallen leaves on the ground.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »PuppetMaster« (08.12.2016, 00:14)


Schrompf

Alter Hase

Beiträge: 1 470

Wohnort: Dresden

Beruf: Softwareentwickler

  • Private Nachricht senden

20

08.12.2016, 09:43

Ich mag QT auch, habe quasi jeden Editor für eins meiner Spiele damit geschrieben.

Aber: falls Du ein GUI-Framework für InGame suchst, also für Optionsmenü, Inventar, HUD, bist Du meiner Meinung nach bei all diesen Frameworks auf dem Holzweg. Man kann QT inzwischen ziemlich cool umbiegen auf einen reinen FrameBuffer-Renderer, so dass Du mit einiger Bastelei tatsächlich Qt auf eine Spiele-Engine obendrauf rendern lassen kannst. Dafür bringt mir QT aber deutlich zuviel Gewicht mit. Allein dass sie die MainLoop übernehmen wollen|müssen, ist mir zu übergriffig für ein Spiel.

Wenn Du GUI-Apps in C++ schreiben willst, gibt es meiner Meinung nach nix Besseres als QT. Der MetaObjectCompiler ging mir immernoch auf die Nerven, aber ich weiß gar nicht mehr, ob und wie notwendig der noch ist.
Häuptling von Dreamworlds. Baut aktuell an nichts konkretem, weil das Vollzeitangestelltenverhältnis ihn fest im Griff hat. Baut daneben nur noch sehr selten an der Open Asset Import Library mit.

Werbeanzeige