在臺式電腦上用得好好的1個MFC呼叫Python的工程,轉到筆記本電腦上出現問題,艱難搏斗了兩天,算是勉強好用,記錄下來。
臺式電腦上的配置是
VS2012 + Python 3.5.2 (Anaconda3 4.1.1 64-bit)。
筆記本電腦原來的配置與臺式電腦相同,后來將Python升級,因此筆記本電腦上的配置是
VS2012 + Python 3.6.2 (Anaconda3 5.0.0 64-bit)
此時筆記本上單獨的Python程式是可以很好運行的。
將臺式電腦上的MFC工程復制到筆記本電腦上,編譯,出現錯誤:
fatal error C1083: 無法打開包含檔案: “inttypes.h”: No such file or directory
當時想,把Python降級為與臺式電腦相同就是了。想到做到,立馬卸載Python,重新安裝Python 3.5.2 (Anaconda3 4.1.1 64-bit)。但是,嚴重的問題出現了,Python居然無法運行。
查百度,看到有篇文章,與我遇到的問題相同,
https://blog.csdn.net/lpls0213/article/details/86538759
按照文章中的步驟,反復折騰,還是不行,反復安裝了多次,每次運行1個單獨的Python程式,結果都是“Python停止作業” 。絕望之下,還是回到高級的Python版本,卸載低版本,在筆記本電腦上重新安裝了Python 3.6.2 (Anaconda3 5.0.0 64-bit)。現在,單獨的Python程式終于能夠運行了。折騰了一天多時間,回到原點。
編譯MFC工程,還是出現問題:fatal error C1083: 無法打開包含檔案: “inttypes.h”: No such file or directory
上網上找inttypes.h。在這里找到了,
https://blog.csdn.net/chinabinlang/article/details/25377841
文章提到:從網上下載 “FFmpeg-full-SDK-3.2”, 這個資源比較多,解壓后,從里面找到:inttypes.h 和 stdint.h
終于在這里找到了FFmpeg-full-SDK-3.2,
http://en.verysource.com/download/ffmpeg_full_sdk_3_2_rar-788860.html
下載,解壓,把inttypes.h復制到
C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include
編譯MFC工程,終于通過,眼看大功就要告成。立馬運行這MFC工程的exe檔案,兜頭一盆冷水,“由于找不到python36.dll,無法繼續執行代碼,重新安裝程式可能會解決此問題”。
這是什么鬼,明明在C:\ProgramData\Anaconda3之下就有python36.dll這個檔案。一定是路徑沒有設定好,查資料,
https://blog.csdn.net/weixin_30856725/article/details/99017812
提到3種方法,按斬訓境路徑配置的方法和作業目錄的方法,均失敗。最后還是直接把dll檔案復制到exe檔案相同的檔案夾下,終于MFC工程可以正確運行了。
雖然最后是解決了問題,但是留下了兩個疑問,至今沒有解決:
1、Anaconda卸載高版本后,如何重新安裝低版本?
2、MFC工程的dll路徑到底應該如何設定?
uj5u.com熱心網友回復:
我是來點贊的!
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/28712.html
標籤:基礎類
