Nein wirklich??? Echt??? Ughhh, das hätte ich ja jetzt nicht für möglich gehalten ... boah.lunar hat geschrieben:...Vorrausgesetzt, die Zielplattform hat einen Compiler parat, was ja nicht überall der Fall ist. ...
C++ in Python einbinden
zeig mal etwas, was mehr aufklärend ist, da steigt doch kein anfänger durch.Als kleines Beispiel kannst du dir eine cgi.escape implementierung in C ansehen: http://dev.pocoo.org/hg/sandbox/file/10 ... xmlescape/
In dem Ordner ist die C Datei + ein setup.py fürs Kompilieren.
- birkenfeld
- Python-Forum Veteran
- Beiträge: 1603
- Registriert: Montag 20. März 2006, 15:29
- Wohnort: Die aufstrebende Universitätsstadt bei München
Um das zu verstehen, sollte es reichen, die offizielle Doku zu "Extending and Embedding" zu lesen.
-
- User
- Beiträge: 1790
- Registriert: Donnerstag 28. Oktober 2004, 16:33
- Wohnort: Graz, Steiermark - Österreich
- Kontaktdaten:
Das verlinkte Modul ist nicht sonderlich komplex. Das + die Dokumentation zur API ist denke ich kein schlechter Einstieg. Zumindest ich lerne gerne an Hand von realitätsnahen Beispielen.sechsrad hat geschrieben:zeig mal etwas, was mehr aufklärend ist, da steigt doch kein anfänger durch.
TUFKAB – the user formerly known as blackbird
Hab mich an das erste Beispiel hier in diesem Thread gehalten.
Hab auc hdann mit dem gcc dieses C-Programm kompiliert und dann eine dll erzeugt.
from ctypes import *
f =cdll.LoadLibrary("test.dll")
Beim Einbinden in ein Python projekt kommt dann folgender Fehler:
Traceback (most recent call last):
File "E:\Mulek\Dokumente\Eclipse\Test\src\test.py", line 2, in <module>
f =cdll.LoadLibrary("test.dll")
File "C:\Program Files\Python\Lib\ctypes\__init__.py", line 431, in LoadLibrary
return self._dlltype(name)
File "C:\Program Files\Python\Lib\ctypes\__init__.py", line 348, in __init__
self._handle = _dlopen(self._name, mode)
WindowsError: [Error 126] Das angegebene Modul wurde nicht gefunden
Was hab ich falsch gemacht?
Muss ich sonst noch irgendeine Vorarbeit leisten, damit dies funktioniert?
Gibt es vl Probleme mit Windows Vista diesbezüglich?
Hab auc hdann mit dem gcc dieses C-Programm kompiliert und dann eine dll erzeugt.
from ctypes import *
f =cdll.LoadLibrary("test.dll")
Beim Einbinden in ein Python projekt kommt dann folgender Fehler:
Traceback (most recent call last):
File "E:\Mulek\Dokumente\Eclipse\Test\src\test.py", line 2, in <module>
f =cdll.LoadLibrary("test.dll")
File "C:\Program Files\Python\Lib\ctypes\__init__.py", line 431, in LoadLibrary
return self._dlltype(name)
File "C:\Program Files\Python\Lib\ctypes\__init__.py", line 348, in __init__
self._handle = _dlopen(self._name, mode)
WindowsError: [Error 126] Das angegebene Modul wurde nicht gefunden
Was hab ich falsch gemacht?
Muss ich sonst noch irgendeine Vorarbeit leisten, damit dies funktioniert?
Gibt es vl Probleme mit Windows Vista diesbezüglich?
mit einem absluten Pfad funktioniert es auch nicht kommt die selbe fehlermeldung
Vielleicht ist die DLL ja auch gegen eine andere DLL gelinkt, die jetzt nicht gefunden wurde. Dann sollte in stderr irgendwas wie
Edit: Oder auch nicht, das dürfte/könnte natürlich auch von wine kommen.
auftauchen.err:module:import_dll Library whatever.dll (which is needed by L"Z:\\tmp\\test.dll") not found
Edit: Oder auch nicht, das dürfte/könnte natürlich auch von wine kommen.
Das kommt sehr wahrscheinlich von Wine. IIRC ist es unter Windows wichtig, dass die DLL, die man importieren will im %PATH% liegt.