Output eines externen Programms "abfangen" und ggf. bearbeiten...



  • Nichts standardmäßiges also... 😞
    Ich benutze fast ausschließlich Gentoo (Linux) und portiere nur sehr wenige Sachen auf Windows. Gibt es da was unabhängiges? Und was hat es mit den pipes auf sich? *google gerade bemühe*

    //Edit:
    Ich habe folgendes gefunden:
    http://members.aon.at/hstraub/linux/socket++/docu/socket++_11.html
    ...und mir das Gentoo-Packet "Socket" emergt. Ich probier damit mal rum. Danke!

    //Edit 2:

    Wenn ich dieses (notwendigerweise modifiziertes) Beispiel vom o.g. Link versuche zu kompilieren...

    #include <iostream>
    #include <socket++/pipestream.h>
    using namespace std;
    
    int main ()
    {
        char buf[128];
        ipipestream p("/bin/date");
    
        p.getline (buf, 127);
        cout << buf << endl;
        return 0;
    }
    

    ... so erscheint folgender Fehler:

    [sammy@Blueberry](~) $ g++ pipe.cpp -o pipe
    /tmp/cc1ecDst.o: In function main': pipe.cpp:(.text+0x26): undefined reference toipipestream::ipipestream[in-charge](char const*)'
    collect2: ld returned 1 exit status

    Kann mir das jemand erklären? 😃



  • http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl?BoostProcess

    Vielleicht hilft das? ist aber nichts offizielles.



  • Artchi schrieb:

    http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl?BoostProcess

    Vielleicht hilft das? ist aber nichts offizielles.

    Das kann ich leider nicht ausprobieren, da der Download-Link nicht funktioniert...

    Um auf die Pipes zurückzukommen, ich finde leider nichts weiteres was mich damit weiter bringt. Kann sich niemand vorstellen warum das Beispiel in meinem letzten Post nicht funktioniert?



  • Pigeon schrieb:

    Kann sich niemand vorstellen warum das Beispiel in meinem letzten
    Post nicht funktioniert?

    Doch kann ich.
    Kurt



  • ZuK schrieb:

    Pigeon schrieb:

    Kann sich niemand vorstellen warum das Beispiel in meinem letzten
    Post nicht funktioniert?

    Doch kann ich.
    Kurt

    Das freuet mich für dich und lasset mein Herz erquicken!
    Nur würd ich die Lösung auch gern wissen. Verrätst dus mir? Sonst muss ich mir bei eBay ne Glaskugel bestellen... 😉 *g*



  • Ah du willst das auch wissen. ( gefragt haste nicht ).
    Würde sagen dass du die zugehörige library zu deinem programm dazulinken musst.
    Kurt



  • ZuK schrieb:

    Ah du willst das auch wissen. ( gefragt haste nicht ).
    Würde sagen dass du die zugehörige library zu deinem programm dazulinken musst.
    Kurt

    wie denn linken? reicht nicht #include <socket++/pipestream.h>



  • Nein reicht nicht. Die zugehörige library muss noch irgendwie ( kenn deine IDE nicht ) bei den linker-optionen ins Project.
    Kurt



  • ZuK schrieb:

    Nein reicht nicht. Die zugehörige library muss noch irgendwie ( kenn deine IDE nicht ) bei den linker-optionen ins Project.
    Kurt

    :-| Meine IDE ist die Konsole... und kompiliere gcc. g++ pipe.cpp -o pipe!



  • Nehmen mir mal an die library ist eine statische lib heisst libsocket.a.
    dann wärs etwa

    g++ pipe.cpp -lsocket -o pipe
    

    eventuell ( wenn die library nicht im normalen library pfad installiert ist )

    g++ pipe.cpp -L/usr/waoauchimmer/wiauchimmer -lsocket -o  pipe
    

    Kurt



  • ZuK schrieb:

    Nehmen mir mal an die library ist eine statische lib heisst libsocket.a.
    dann wärs etwa

    g++ pipe.cpp -lsocket -o pipe
    

    eventuell ( wenn die library nicht im normalen library pfad installiert ist )

    g++ pipe.cpp -L/usr/waoauchimmer/wiauchimmer -lsocket -o  pipe
    

    Kurt

    geht mit -lsocket++ ausgezeichnet! Danke 🙂 🙂


Anmelden zum Antworten