Hi.
Versuche mich gerade an einem kleinem C++ Modul für Python 2.5.
Allerdings schlage ich schon daran fehl, die Python.h zu includen. Sobald das passiert, kommen weit mehr als 100 Fehler aus der windows.h / winnt.h.
Hier mal ein Pastebin Link: http://nopaste.org/p/asFqkYVJG (wird aber wohl nichts bringen).
Ich habe keine weiteren Informationen dazu gefunden. Muss man noch etwas bestimmtes definieren?
~ Chris
C++ Modul
Mach dir das Leben einfacher und nimm Boost::python.
(Auf deine Frage bezogen vermute ich, dass du Python.h als extern "C" includieren müsstest; aber nimm boost::python, das erspart dir viel viel arbeit. Eine Lernkurve ist aber auch dort vorhanden)
(Auf deine Frage bezogen vermute ich, dass du Python.h als extern "C" includieren müsstest; aber nimm boost::python, das erspart dir viel viel arbeit. Eine Lernkurve ist aber auch dort vorhanden)
-
- User
- Beiträge: 221
- Registriert: Sonntag 1. Juni 2008, 09:08
Funktioniert Boost::python auch mit Linux?
Eigentlich wollte ich da keine Umwege machen, sondern lieber direkt arbeiten
~ Chris
Eigentlich wollte ich da keine Umwege machen, sondern lieber direkt arbeiten

~ Chris
Grüßle.
- sebastinas
- User
- Beiträge: 7
- Registriert: Mittwoch 7. Januar 2009, 20:29
Ja. Mit der Dokumentation zu Boost.Python sollte man auch halbwegs weit kommen. Ein paar fortgeschrittene Sachen sind zwar sehr tricky, aber es ist auf jeden Fall angenehmer damit zu Arbeiten als mit der Python C-API.Chrisber hat geschrieben:Funktioniert Boost::python auch mit Linux?
-
- User
- Beiträge: 221
- Registriert: Sonntag 1. Juni 2008, 09:08
Hi.
Habe das nochmal mit extern "C" probiert, aber auch das bringt nichts.
Das kann doch nicht sein dass ich der einzige bin, der damit Probleme hat. Habe bei Google nichts derartiges gefunden, immer nur im Zusammenhang mit dem DirectX8 SDK und das benutze ich gar nicht...
~ Chris
Habe das nochmal mit extern "C" probiert, aber auch das bringt nichts.
Das kann doch nicht sein dass ich der einzige bin, der damit Probleme hat. Habe bei Google nichts derartiges gefunden, immer nur im Zusammenhang mit dem DirectX8 SDK und das benutze ich gar nicht...
~ Chris
Grüßle.
- sebastinas
- User
- Beiträge: 7
- Registriert: Mittwoch 7. Januar 2009, 20:29
Schon mal versucht die include-Reihenfolge zu vertauschen? Aber das ist auch nur so dahin geraten ... ohne Code wird das schwierig.
-
- User
- Beiträge: 221
- Registriert: Sonntag 1. Juni 2008, 09:08
Hi.
Habe jetzt mal die Reihenfolge 10 mal verändert, hat nichts gebracht.
Habe mal das gesamte Projekt inkl. aller Abhängigkeiten hochgeladen (MSVC++08EE), vielleicht hast du ja mal Lust reinzuschauen
Die windows.h wird in der SigScan.hpp im Ordner Dateien includet, der ganze Python krams befindet sich in Dateien/PythonHook.cpp.
*Links entfernt*
EDIT: Ich habs!!! Es lag daran, dass ich den Python Ordner als Includepfad gesetzt habe. Habe jetzt anstatteinund es geht!!! Danke an alle trotzdem 
~ Chris
Habe jetzt mal die Reihenfolge 10 mal verändert, hat nichts gebracht.
Habe mal das gesamte Projekt inkl. aller Abhängigkeiten hochgeladen (MSVC++08EE), vielleicht hast du ja mal Lust reinzuschauen

Die windows.h wird in der SigScan.hpp im Ordner Dateien includet, der ganze Python krams befindet sich in Dateien/PythonHook.cpp.
*Links entfernt*
EDIT: Ich habs!!! Es lag daran, dass ich den Python Ordner als Includepfad gesetzt habe. Habe jetzt anstatt
Code: Alles auswählen
<Python.h>
Code: Alles auswählen
"../Python/Python.h"

~ Chris
Grüßle.
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Bessere Lösung: dem Compiler mit -I den richtigen Pfad zu den Includedateien gleich mitgeben. Schließlich hat nicht jeder seine ``Python.h`` in ``../Python/Python.h``.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
-
- User
- Beiträge: 221
- Registriert: Sonntag 1. Juni 2008, 09:08
Ähm..

~ Chris
Habe ich doch gemachtEs lag daran, dass ich den Python Ordner als Includepfad gesetzt habe.

~ Chris
Grüßle.
Aber anscheinend nicht richtig, also nicht auf den gleichen Pfad, den ein "../Python/Python.h" ergibt. Denn dann würde es keinen Unterschied zwischen den beiden Varianten geben, ausser dass `-I` mit dem richtigen Pfad und <Python.h> in der Datei, der sauberere Weg ist.
-
- User
- Beiträge: 221
- Registriert: Sonntag 1. Juni 2008, 09:08
Doch.
Wenn ich den Includepfad setze und <Python.h> benutze, kommen diese ganzen Fehler aus der windows.h - was soll ich bitte sonst machen außer den Pfad direkt einzugeben damit es funktioniert?!
~ Chris
Wenn ich den Includepfad setze und <Python.h> benutze, kommen diese ganzen Fehler aus der windows.h - was soll ich bitte sonst machen außer den Pfad direkt einzugeben damit es funktioniert?!
~ Chris
Grüßle.
-
- User
- Beiträge: 221
- Registriert: Sonntag 1. Juni 2008, 09:08
Weiß ich nicht.
Ich habe den Pfad ganz normal in den Projekteinstellungen von MSVC++08EE gesetzt und compiled, was den Fehler verursachte.
~ Chris
Ich habe den Pfad ganz normal in den Projekteinstellungen von MSVC++08EE gesetzt und compiled, was den Fehler verursachte.
~ Chris
Grüßle.