我最近買了一臺新電腦,並試圖從我的舊電腦移動一個Python項目到我的新電腦。 python項目使用了一些directx9 C++代碼(使用#include < Python.h >)來截取屏幕截圖並編譯我使用G ++的這個C++文件。Python嵌入的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不會改變任何東西)
我不知道爲什麼會發生這種情況(並且不會發生在我試過的任何其他計算機或我的舊電腦上),而且我無法啓動nd任何可能導致這一點的事情。
如果這是相關的我使用Windows 10 64位(在我的舊電腦和我的新電腦)。
也許我需要重新編譯python庫或那個特定的文件,所以任何關於如何做的建議也非常感謝。
感謝您閱讀本文,歡迎提供任何建議。
我找到了解決方案,我回答了下面的問題。
這最終爲我工作,但要確保你的g ++和dlltool來自同一個工具鏈。即'哪個g ++'和'哪個dlltool'應該在同一個目錄中。 – user1495323