Cython/MinGW gcc: Warum funktioniert 32-Bit-exe nicht?
Verfasst: Mittwoch 23. Mai 2018, 18:42
Mein Betriebssystem ist Windows 10 64 Bit.
Folgendes habe ich installiert:
- Python 64bit
- Python 32bit
- "MinGW-w64 - for 32 and 64 bit Windows" (https://sourceforge.net/projects/mingw- ... rce=navbar)
um mit dem enthaltenen gcc eine exe zu erstellen
- Cython um mein Python-Programm in eine c-Programm zu verwandeln
Das Python-Programm example.py:
Umwandlung in ein c-Programm:
Umwandlung in eine 64-Bit-Exe:
Die 64-Bit example.exe lässt sich ohne Fehlermeldung starten.
Das Compilieren einer 32-Bit-Exe funktioniert zwar ohne Fehlermeldung:
Doch beim Versuch, die 32-Bit example.exe zu starten, bekomme ich ein Fenster mit folgender Fehlermeldung:
example.exe - Anwendungsfehler
Die Anwendung konnte nicht gestartet werden.
(0xc000007b). Klicken Sie auf 'OK', um die Anwendung zu
schließen. OK
Woran kann das liegen?
Muss ich mein gcc-Kommando abändern und wenn ja wie?
Oder stimmt etwas anderes nicht?
Folgendes habe ich installiert:
- Python 64bit
- Python 32bit
- "MinGW-w64 - for 32 and 64 bit Windows" (https://sourceforge.net/projects/mingw- ... rce=navbar)
um mit dem enthaltenen gcc eine exe zu erstellen
- Cython um mein Python-Programm in eine c-Programm zu verwandeln
Das Python-Programm example.py:
Code: Alles auswählen
#Example (Hello, World):
import tkinter
tk = tkinter.Tk()
frame = tkinter.Frame(tk, relief="ridge", borderwidth=2)
frame.pack(fill="both",expand=1)
label = tkinter.Label(frame, text="Hallo Welt!")
label.pack(expand=1)
button = tkinter.Button(frame,text="OK",command=tk.destroy)
button.pack(side="bottom")
tk.mainloop()
Code: Alles auswählen
cython --embed example.py
Code: Alles auswählen
gcc -Wl,--subsystem,windows -municode -DMS_WIN64 -mthreads -Wall -O -IC:\Python37\include -LC:\Python37\libs example.c -lpython37 -o example.exe
Das Compilieren einer 32-Bit-Exe funktioniert zwar ohne Fehlermeldung:
Code: Alles auswählen
gcc -Wl,--subsystem,windows -m32 -municode -DMS_WIN64 -mthreads -Wall -O -IC:\Python37-32bit\include -LC:\Python37-32bit\libs example.c -lpython37 -o example.exe
example.exe - Anwendungsfehler
Die Anwendung konnte nicht gestartet werden.
(0xc000007b). Klicken Sie auf 'OK', um die Anwendung zu
schließen. OK
Woran kann das liegen?
Muss ich mein gcc-Kommando abändern und wenn ja wie?
Oder stimmt etwas anderes nicht?