因此,我在网上搜索了所有内容,但找不到任何东西。
我从python开始,然后制作了TKinter应用程序。最初,我尝试将其编译为.exe文件,但这没有用。所以现在我将python嵌入C ++中。每当我尝试编译(使用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:代表闪存盘。
在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\4.9.2\include" -I"C:\Programma's\Dev-C++\MinGW64\lib\gcc\x86_64-w64-mingw32\4.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
Dev-C ++版本:5.11
GCC版本:我不知道,但是如果需要的话,我会找出来的:)
编辑:由于NathanOliver的重复标记,我将这样询问:必须添加哪些命令行变量才能对其进行编译?
最佳答案
链接器抱怨是因为它找不到关于某些python东西的一组引用,事实上,我在g ++调用中看不到任何python库。
您需要具有类似-lpython3.5.1的内容,以告诉g ++链接到python库(假设python已安装在系统中,否则必须使用-L选项将路径添加到库中)。
有关g ++ makefile和链接的更多资源:
https://www3.ntu.edu.sg/home/ehchua/programming/cpp/gcc_make.html