Python.h compiling error: collect2.exe Id returned 1 exit status

Python.h compiling error: collect2.exe Id returned 1 exit status

所以,我在网上搜索了所有内容,但找不到任何东西。

我是从 python 开始的,我制作了一个 TKinter 应用程序。起初,我试图将它编译成一个 .exe 文件,但那没有用。所以现在我在 C++ 中嵌入 python。每次我尝试编译它(使用 Dev-C++)时,我都会收到错误:

C:\Users\*****\AppData\Local\Temp\ccsqSJ5V.o    [program-name].cpp:(.text+0x10): undefined reference to `__imp_Py_Initialize'
C:\Users\*****\AppData\Local\Temp\ccsqSJ5V.o    [program-name].cpp:(.text+0x25): undefined reference to `__imp_PyRun_SimpleStringFlags'
C:\Users\*****\AppData\Local\Temp\ccsqSJ5V.o    [program-name].cpp:(.text+0x2e): undefined reference to `__imp_Py_Finalize'
F:\Documents\Videos\[program-name]\program\collect2.exe [Error] ld returned 1 exit status

F:代表U盘。 在 Dev-c++ 选项中,我添加了:

-Wall -I\C:\Users\*****\AppData\Local\Programs\Python\Python35\include

所以这是完整的命令:

g++.exe "F:\Documents\Videos\[program-name]\program\[program-name].cpp" -o "F:\Documents\Videos\[program-name]\program\[program-name].exe" -Wall -I\C:\Users\*****\AppData\Local\Programs\Python\Python35\include -I"C:\Programma's\Dev-C++\MinGW64\include" -I"C:\Programma's\Dev-C++\MinGW64\x86_64-w64-mingw32\include" -I"C:\Programma's\Dev-C++\MinGW64\lib\gcc\x86_64-w64-mingw32.9.2\include" -I"C:\Programma's\Dev-C++\MinGW64\lib\gcc\x86_64-w64-mingw32.9.2\include\c++" -I"C:\Users\*****\AppData\Local\Programs\Python\Python35\include" -L"C:\Programma's\Dev-C++\MinGW64\lib" -L"C:\Programma's\Dev-C++\MinGW64\x86_64-w64-mingw32\lib" -static-libgcc

我的问题是:我该如何处理?

请注意:我没有管理员权限,我只是一个标准用户。


Python版本:3.5.1
开发-C++ 版本:5.11
GCC 版本:我不知道,但如果需要我会找到它:)

编辑:由于 NathanOliver 的重复标记,我会这样问:我必须添加哪些命令行变量才能编译它?

linker 正在抱怨,因为它找不到关于某些 python 东西的一组参考,事实上我没有看到任何 python 库在 g++ 调用中。

你需要这样的东西 -lpython3.5.1 告诉 g++ link 反对 python 库(假设 python 安装在你的系统,否则您将必须使用 -L 选项将路径添加到库。

关于 g++ makefile 和 linking 的更多资源: https://www3.ntu.edu.sg/home/ehchua/programming/cpp/gcc_make.html