我最近买了一台新电脑,试图将一个Python项目从旧电脑转移到新电脑。这个Python项目使用了一些DirectX9 C++代码(包括#include <Python.h>)来截屏,而我使用G++编译这个C++文件。
在没有更改任何代码的情况下,在安装了G++和Python之后,我发现我用来编译代码的东西返回了错误:
g++ -std=c++11 -shared -IC:\Python27\include -LC:\Python27\libs ScreenShots/PictureStr.cpp -lpython27 -ld3d9 -lole32 -o ScreenShots/PictureStr.pyd
返回这个:
C:\Python27\libs/libpython27.a: error adding symbols: File format not recognized
collect2.exe: error: ld returned 1 exit status
(去掉-ld3d9 -lole32没有任何改变)
我不知道为什么会出现这种情况(在我试过的其他计算机或我的旧计算机上都没有出现),我也找不到任何可能导致这种情况的原因。
如果有关联,我使用Windows 10 64位操作系统(旧计算机和新计算机均如此)。
也许我需要重新编译Python库或特定文件,因此对于如何执行此操作的任何建议也将不胜感激。
谢谢您阅读此文,欢迎提出任何建议。
我已经找到了解决方案,在下面发表了答案。