Python Boost G++



  • Hallo Leute ich hätte an euch die Frage ob einer weiss wie man mittels
    Boost eine Python Extension schreibt und diese auch anschliessend in Python benutzen kann. Das alles soll unter Linux mittels dem GCC laufen

    Also ich habe folgendes einfache Beispiel in C++

    void PrintMsg(char * msg)
    {
            printf("PYTHON: %s\n",msg);
    }
    
    BOOST_PYTHON_MODULE(Pointless)
    {
            def("PrintMsg",PrintMsg);
    }
    

    und kompelliere wie folgt

    CMD = -shared
    
    all: main.so
    
    main.o: main.cpp
            g++ -c main.cpp -I/usr/include/python2.6/ 
    
    main.so: main.o
            g++ -o main.so main.o -lpython2.6 $(CMD)
    

    und mein kleines PYTHON SCRIPT SIEHT WIE FOLGT AUS

    import ctypes
    
    ctypes.CDLL("~/pythonBoost/main.so")
    

    leder führt allein diese Anweisung dazu das er ein Symbol nicht kennt

    Python als eigebette Scriptsprache funktionier soweit.

    Vielleicht mache ich irgendetwas total falsch

    Mit freundlichen Grüßen
    cefour



  • Wenn du ein richtiges Python-Modul in C geschrieben hast, wird es über

    import modul_name
    

    geladen und nicht über ctypes.


Anmelden zum Antworten