最近在用C++做信號(hào)處理,因?yàn)樯婕暗骄仃嚁?shù)值計(jì)算且需要繪圖,便發(fā)現(xiàn)了C++可以調(diào)用python中的matplotlib進(jìn)行畫(huà)圖,但是整個(gè)配置過(guò)程可謂是異常艱辛,特地過(guò)來(lái)總結(jié)一下!
網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)的開(kāi)發(fā),更需要了解用戶,從用戶角度來(lái)建設(shè)網(wǎng)站,獲得較好的用戶體驗(yàn)。創(chuàng)新互聯(lián)公司多年互聯(lián)網(wǎng)經(jīng)驗(yàn),見(jiàn)的多,溝通容易、能幫助客戶提出的運(yùn)營(yíng)建議。作為成都一家網(wǎng)絡(luò)公司,打造的就是網(wǎng)站建設(shè)產(chǎn)品直銷的概念。選擇創(chuàng)新互聯(lián)公司,不只是建站,我們把建站作為產(chǎn)品,不斷的更新、完善,讓每位來(lái)訪用戶感受到浩方產(chǎn)品的價(jià)值服務(wù)。文章略長(zhǎng),還請(qǐng)耐心看完。
主要參考:
C++matplotlibcpp配置、使用及發(fā)布(第三方無(wú)需安裝python即可運(yùn)行)_c++_djh_-DevPress官方社區(qū) (csdn.net)
進(jìn)入正題 1. matplotlibcpp安裝下載地址:https://github.com/lava/matplotlib-cpp
下載的是一個(gè)文件夾,下載完先放在一邊備用,接下來(lái)重點(diǎn)說(shuō)一下其他配置。
2. 環(huán)境配置 2.1 python環(huán)境配置因?yàn)槭钦{(diào)用python中的matplotlib,所以首先需要配置python環(huán)境。我是從anaconda中下載的,因?yàn)樵诎l(fā)布時(shí)需要打包matplotlib-cpp所有第三方依賴庫(kù),anaconda可以直接下載好。
anaconda中具體操作可以自行查找,此處不再贅述。
2.2 VS中配置1)首先右鍵項(xiàng)目進(jìn)入屬性頁(yè),配置選擇Release,平臺(tái)x64(一般都是)。
2)選擇C/C++,編輯附加包含目錄。將以下兩個(gè)路徑添加進(jìn)去:
C:\Users\ly123\.conda\envs\test12_12\Lib\site-packages\numpy\core\include
C:\Users\ly123\.conda\envs\test12_12\include
注:test12_12表示的是在anaconda創(chuàng)建的環(huán)境名稱(每個(gè)人不一樣),找不到路徑的可以去anaconda查看。
3)然后再選擇鏈接器,編輯附加庫(kù)目錄,添加C:\Users\ly123\.conda\envs\test12_12\libs。
4)再選擇鏈接器中的輸入,編輯附加依賴項(xiàng)。將C:\Users\ly123\.conda\envs\test12_12\libs中的三個(gè)文件名添加進(jìn)去。
5)關(guān)鍵一步來(lái)了,需要將如下三個(gè)dll文件復(fù)制到VS項(xiàng)目的exe目錄下:
python3.dll、python38.dll、vcruntime140.dll(存放路徑:C:\Users\ly123\.conda\envs\test12_12)
并且將文件夾platforms也復(fù)制到exe目錄下(存放路徑:C:\Users\ly123\.conda\envs\test12_12\Library\plugins\platforms)
6)VS中配置完后,還要將目錄C:\Users\ly123\.conda\envs\test12_12\Library\bin添加到環(huán)境變量:
2.3 matplotlibcpp使用以上配置完成后,再將下載的matplotlibcpp文件夾中的matplotlibcpp.h頭文件拷貝到VS項(xiàng)目工程。
接下來(lái)為了使運(yùn)行時(shí)不報(bào)錯(cuò),還需要做如下處理:注釋掉matplotlibcpp.h頭文件中的第354和356行。
最后在C++源文件中添加兩行代碼:
#include "matplotlibcpp.h"
namespace plt = matplotlibcpp;
至此,全部配置完成。
然而,就在我以為終于大功告成結(jié)束痛苦時(shí),現(xiàn)實(shí)又給了我一記響亮的耳光,下面記錄一下遇到的問(wèn)題以及解決方案。 1)提示matplotlibcpp.h中無(wú)法找到Python.h文件:首先找到python.h文件,將其路徑添加到項(xiàng)目屬性頁(yè)VC++目錄中的包含目錄即可。
2)Fatal Python error: init_fs_encoding: failed to get the Python codec of the filesystem encoding好不容易程序能運(yùn)行了,又報(bào)了這樣的錯(cuò)誤。主要是因?yàn)檎也坏綄?duì)應(yīng)的環(huán)境變量,解決辦法如下:
在anaconda安裝目錄下,找到D:\anaconda\pkgs\qt-5.9.7-vc14h73c81de_0\Library\plugins
然后設(shè)置環(huán)境變量:
變量名為:QT_QPA_PLATFORM_PLUGIN_PATH;
路徑為:D:\anaconda\pkgs\qt-5.9.7-vc14h73c81de_0\Library\plugins。
解決了這兩個(gè)問(wèn)題后,終于暫時(shí)脫離痛苦了,測(cè)試一下代碼:
plt::plot({1,2,3,4,5});
plt::show();
OVER!?。?p>整個(gè)配置過(guò)程很麻煩,而且即便按照步驟配置可能也會(huì)遇到一些問(wèn)題,所以還請(qǐng)多點(diǎn)耐心(bushi)!你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧
當(dāng)前題目:C++調(diào)用matplotlib繪圖總結(jié)-創(chuàng)新互聯(lián)
URL網(wǎng)址:http://jinyejixie.com/article18/djeegp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、云服務(wù)器、網(wǎng)站設(shè)計(jì)公司、商城網(wǎng)站、網(wǎng)站建設(shè)、服務(wù)器托管
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容