tutorials.de Buch-Aktion 05/2012
Like Tree3Danke
  • 1 Beitrag von deepthroat
  • 1 Beitrag von deepthroat
  • 1 Beitrag von deepthroat
ERLEDIGT
JA
ANTWORTEN
5
ZUGRIFFE
244
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Napofis
    Napofis Napofis ist offline require 'brain.php';
    Registriert seit
    Jun 2007
    Ort
    Bayern
    Beiträge
    587
    Hallo Forum,

    ich bin gerade dabei C++ zu lernen. Zur Übung möchte ich ein kleines Programm schreiben das mir Ordner Etiketten druckt.

    Um die Grafiken zu generieren wollte ich die GD2 nutzen, die hab ich mir auch schon von der HP heruntergeladen. Allerdings weiß ich nicht wie ich diese jetzt einbinden und nutzen kann?

    Das selbe gilt für Reguläre ausdrücke, welche Bibliothek muss ich includen damit ich diese Muster nutzen kann?


    Hoffentlich kann mir jemand helfen? Ich verwende Ubuntu 11.4 32-Bit und die Netbeans IDE 7.0.1.

    Schöne Grüße
    Napofis
     

  2. #2
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    Hi.

    Also wenn du Ubuntu verwendest, führst du einfach diesen Befehl aus:
    Code :
    1
    
    sudo apt-get install libpcre3-dev libgd2-xpm-dev
    Danach kannst du die Header ganz normal einbinden:
    Code c:
    1
    2
    
    #include <gd.h>
    #include <pcre.h>
    Außerdem mußt du dann natürlich die pcre und gd Bibliothek zu deinem Programm dazulinken.

    \edit: In C++ könntest du für reg. Ausdrücke natürlich auch gleich die std::tr1 regex Klassen nutzen oder statt libpcre den C++ Wrapper libpcre++.

    Gruß
    Geändert von deepthroat (10.10.11 um 15:52 Uhr)
    Napofis bedankt sich. 
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  3. #3
    Avatar von Napofis
    Napofis Napofis ist offline require 'brain.php';
    Registriert seit
    Jun 2007
    Ort
    Bayern
    Beiträge
    587
    Hi Danke für die Hilfe, das hat soweit auch geklappt.
    Nun kommt immer nur dieser Fehler:
    Code :
    1
    2
    3
    4
    5
    6
    
    main.cpp:(.text+0x1b): undefined reference to `gdImageCreateTrueColor'
    main.cpp:(.text+0x3d): undefined reference to `gdImageColorAllocate'
    main.cpp:(.text+0x59): undefined reference to `gdImageFill'
    main.cpp:(.text+0x83): undefined reference to `gdImagePngEx'
    main.cpp:(.text+0x93): undefined reference to `gdImageDestroy'
    collect2: ld returned 1 exit status

    Hier mal das Test Programm:
    Code cpp:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    
    #include <iostream>
    #include <gd.h>
    #include <fstream>
     
    using namespace std;
     
     
    int main(int argc, char** argv) {
     
        gdImage* img=gdImageCreateTrueColor(100, 100);
        int black = gdImageColorAllocate(img, 0, 0, 0);
        gdImageFill(img, 0, 0, black);
        
        FILE* out = fopen("/tmp/test.png","wb");
        gdImagePngEx(img,out,9);
        fclose(out);
        gdImageDestroy(img);
        
        return 0;
    }
     

  4. #4
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    Hi.

    Wie bereits gesagt, musst du die gd Bibliothek zu deinem Programm linken.

    Irgendwo in Netbeans muss es eine Projekt-Einstellung dafür geben. Linker -> Bibliotheken oder ähnlich.

    Gruß
    Napofis bedankt sich. 
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  5. #5
    Avatar von Napofis
    Napofis Napofis ist offline require 'brain.php';
    Registriert seit
    Jun 2007
    Ort
    Bayern
    Beiträge
    587
    Super Danke, war nicht so einfach aber jetzt hab ichs gefunden und alles klappt .

    Es war unter Projekt Eigenschaften -> build -> linker -> libraries
    Dort hab ich die /usr/lib/libgd.a und libgd.so hinzugefügt. Ich hoffe mal das war das richtige.


    Danke für die Hilfe, dir noch einen schönen Abend.

    Gruß Napofis
     

  6. #6
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    Hi.
    Zitat Zitat von Napofis Beitrag anzeigen
    Es war unter Projekt Eigenschaften -> build -> linker -> libraries
    Dort hab ich die /usr/lib/libgd.a und libgd.so hinzugefügt. Ich hoffe mal das war das richtige.
    Nicht ganz. Jetzt ist es doppelt gemoppelt, da du sowohl die statische als auch die dynamische Bibliothek angegeben hast.

    Du brauchst nur eine. (in der Regel die dynamische => .so).

    \edit: es reicht wenn du auf "Add Library..." klickst und "gd" eintippst. Du mußt nicht ein bestimmte Datei suchen.

    Gruß
    Geändert von deepthroat (11.10.11 um 08:46 Uhr)
    Napofis bedankt sich. 
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

Ähnliche Themen

  1. c-dll in .net verwenden
    Von nullpunkt im Forum C/C++
    Antworten: 0
    Letzter Beitrag: 14.04.08, 07:56
  2. [C#] C++ DLL verwenden
    Von Passer im Forum .NET Café
    Antworten: 1
    Letzter Beitrag: 08.07.07, 21:58
  3. WMI Klassen verwenden?
    Von partitionist im Forum C/C++
    Antworten: 2
    Letzter Beitrag: 26.10.05, 22:33
  4. CVS verwenden
    Von doctiffo im Forum .NET Archiv
    Antworten: 1
    Letzter Beitrag: 24.04.05, 12:07
  5. JList verwenden
    Von thodtie im Forum Java
    Antworten: 1
    Letzter Beitrag: 28.10.04, 00:07