C++ ruft Python in der Windows-Umgebung auf

Umgebungseinrichtung

Wählen Sie 1 von 2

1. Bereiten Sie 32-Bit-Python und 32-Bit-Mingw vor.
2. Bereiten Sie 64-Bit-Python und 64-Bit-Mingw64 vor

  • 32-Bit-Mingw-Download-Adresse: https://disk.baidu.com/s/1Z25NxrRuOsjOKWXddTNyeg Extraktionscode: dvgl
  • 64-Bit-Mingw64-Download-Adresse: https://www.onlinedown.net/soft/10045442.htm
    • Wer dazu in der Lage ist, kann es auch direkt von der offiziellen Website von mingw herunterladen: https://www.mingw-w64.org/

Legen Sie den Pfad zu g++.exe als Umgebungsvariable fest

  • Nehmen Sie als Beispiel mingw64 (32-Bit ist dasselbe)
  • Entpacken Sie das oben heruntergeladene mingw64 und entpacken Sie die darin enthaltenen Dateien in Ihren bevorzugten Pfad.
    Fügen Sie hier eine Bildbeschreibung ein
    Fügen Sie hier eine Bildbeschreibung ein

Richten Sie eine Python-Umgebung ein (weggelassen)

Nachdem G++ und Python eingerichtet sind, können Sie mit „Hello Word!“ beginnen.



Kompilieren Sie C++-Code in ein EXE-Programm

  • Erstellen Sie eine neue c_call_py.cpp
#include <stdlib.h>
#include <Python.h>

int main(int argc, char *argv[]){
    
    
    Py_Initialize();
    PyRun_SimpleString("print('hello world')\n");
    Py_Finalize();
    system("pause");  // 暂停
    return 0;
}
  • Öffnen Sie cmd (vorzugsweise mit Administratorrechten ausführen)
  • Geben Sie g++ c_call_py.cpp in cmd ein -I „Python-Pfad meines Computers\include“ -L „Python-Pfad/Bibliotheken meines Computers“ -l Python .lib meines Computers -o test
    • Zum Beispiel gibt mein Computer Python3.8 so ein
    • g++ c_call_py.cpp -I „C:\Programme\Python38\include“ -L"C:/Programme/Python38/libs" -lpython38 -o test

Fügen Sie hier eine Bildbeschreibung ein

  • Kompilierte und generierte test.exe
    Fügen Sie hier eine Bildbeschreibung ein
    Fügen Sie hier eine Bildbeschreibung ein

  • Mögliche Fallstricke, auf die Sie unterwegs stoßen können

    1. Das meiste, was Sie bei der Baidu-Suche sehen, ist diese Befehlszeile: g++ main.cpp -I/usr/include/python3.5 -lpython3.5m -o test
      • Ich stecke hier schon lange fest. Der Aufruf der Win-Umgebung ist für diesen Befehl überhaupt nicht geeignet.
    2. Unaufgelöstes externes Symbol __imp_Py_Initialize…
      • Der Grund dafür ist, dass Mingw und Python nicht gleich 64 oder 32 sind. Ich habe ursprünglich 64-Bit-Python mit 32-Bit-Mingw aufgerufen, was diesen Fehler verursacht hat.

Je suppose que tu aimes

Origine blog.csdn.net/Paper_Sheep/article/details/127540980
conseillé
Classement