gtkmm unter Ubuntu CodeBlocks installieren



  • Ich versuche gtkmmm unter Codeblocks zum laufen zu bringen.
    Ich habe die Aktuelle Version von gtkmm bereits installiert.
    Beim Linker habe ich /usr/lib/libgtkmm-2.4.so und bei Search Directories /usr/include/gtkmm-2.4 hinzugefügt. Jetzt findet es zwar gtkmm.h aber in gtkmm.h findet es die glibmm.h nicht mehr. Wenn ich dann /usr/include/glibmm-2.4 hinzufüge geht es immer so weiter.

    Was mache ich falsch?

    Vielen Dank für Eure Hilfe!

    Jokester



  • Alle nötigen Include-dirs liefert dir

    $ pkg-config --cflags gtkmm-2.4
    

    Zum Linken statt "--clags" einfach "--libs" schreiben.
    Wie sich das in CodeBlocks integriert? keine Ahnung. Kann das nicht mit normalen Makefiles umgehen? Hat das Support für Makefile-Generatoren ala CMake? Wie schauts mit autotools-integration aus?



  • Ja wenn ich den Befehl eingebe zeigt es mir alle Includepfade an. Aber wie teile ich es dem Linker richtig mit?
    Ich habe bei Linker Other Linker options: das hier eingetragen:
    pkg-config --libs gtkmm-2.4
    aber wo trage ich pkg-config --cflags gtkmm-2.4 ein?

    Nein CodeBlocks benutzt glaube ich keine Makefiles.

    Welche IDE benutzst du?



  • Schau hier: http://developer.gnome.org/gtkmm-tutorial/2.24/sec-headers-and-linking.html.en

    Oder du kannst das Terminal öffnen und mit

    $ cd
    

    in den Projektordner wechseln, wo du dann

    $ g++ main.cpp -o Name `pkg-config gtkmm-2.4 --cflags --libs`
    

    eingibst. Die Applikation findest du dann im Projektordner. 😉



  • Vielen Dank!
    Aber wie kann ich es jetzt ohne Konsole ausführen?
    Das mit dem .ac File verstehe ich nicht richtig wie man es hinzufügen muss. 😞



  • Bei Compiler settings -> Other options musst du

    `pkg-config --cflags gtkmm-2.4`
    `pkg-config --cflags libglademm-2.4`
    

    hinzufügen.
    Bei other Linker options fügst du

    `pkg-config --libs gtkmm-2.4`
    `pkg-config --libs libglademm-2.4`
    

    hinzu.



  • Hallo jokester,
    du kannst dir in Code::Blocks eine Benutzervorlage für ein Projekt erstellen. Dann hast du unter "Ein neues Projekt erstellen" auch ein Gtkmm-Projekt verfügbar und musst bei einen neuen Projekt nicht jedes mal die Optionen wieder neu einstellen.

    Dazu musst du die beiden folgenden Dateien im selben Verzeichnis speichern.

    main.cpp

    #include <gtkmm.h>
    
    int main(int argc, char *argv[])
    {
      Gtk::Main kit(argc, argv);
    
      Gtk::Window window;
      kit.run(window);
    
      return 0;
    }
    

    GTKmm Application.cbp

    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    <CodeBlocks_project_file>
    	<FileVersion major="1" minor="6" />
    	<Project>
    		<Option title="GTKmm Application" />
    		<Option pch_mode="2" />
    		<Option compiler="gcc" />
    		<Build>
    			<Target title="Debug">
    				<Option output="bin/Debug/GTKmm Application" prefix_auto="1" extension_auto="1" />
    				<Option object_output="obj/Debug/" />
    				<Option type="0" />
    				<Option compiler="gcc" />
    				<Compiler>
    					<Add option="-g" />
    				</Compiler>
    			</Target>
    			<Target title="Release">
    				<Option output="bin/Release/GTKmm Application" prefix_auto="1" extension_auto="1" />
    				<Option object_output="obj/Release/" />
    				<Option type="1" />
    				<Option compiler="gcc" />
    				<Compiler>
    					<Add option="-O2" />
    				</Compiler>
    				<Linker>
    					<Add option="-s" />
    				</Linker>
    			</Target>
    		</Build>
    		<Compiler>
    			<Add option="-Wall" />
    			<Add option="`pkg-config gtkmm-2.4 --cflags`" />
    		</Compiler>
    		<Linker>
    			<Add option="`pkg-config gtkmm-2.4 --libs`" />
    		</Linker>
    		<Unit filename="main.cpp" />
    		<Extensions>
    			<code_completion />
    			<lib_finder disable_auto="1" />
    			<envvars />
    			<debugger />
    		</Extensions>
    	</Project>
    </CodeBlocks_project_file>
    

    Jetzt das Projekt in Code::Blocks öffnen, oder Doppelclick auf die Datei "GTKmm Application.cbp". Unter "Datei" → "Save project as template" kannst du dieses jetzt als Vorlage speichern. Diese GTKmm-Projekt-Vorlage findest du dann unter "Ein neues Projekt erstelln" → "Benutzervorlagen".



  • Vielen Dank euch beiden 🙂


Anmelden zum Antworten