久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

VS Code C++ OpenCV 配置全解析:編輯器、編譯器與庫(kù)的底層原理與實(shí)戰(zhàn)

VS Code C++ OpenCV 配置全解析:編輯器、編譯器與庫(kù)的底層原理與實(shí)戰(zhàn) 先問(wèn)一句你在 VS Code 里為 C 配置 OpenCV 的時(shí)候是不是已經(jīng)經(jīng)歷過(guò)這種循環(huán)——照著教程敲完配置紅波浪線還在換成另一個(gè)教程的配置編譯報(bào)錯(cuò)變了第三個(gè)教程終于不報(bào)錯(cuò)了程序運(yùn)行起來(lái)又提示找不到 DLL。說(shuō)實(shí)話這個(gè)循環(huán)我見(jiàn)過(guò)太多次了A同學(xué)甚至為此折騰到凌晨一點(diǎn)。后來(lái)我發(fā)現(xiàn)問(wèn)題不在于某個(gè)步驟沒(méi)抄對(duì)而在于大家都沒(méi)搞明白一件事VS Code、編譯器、OpenCV 這三樣?xùn)|西在電腦里其實(shí)是三個(gè)各自獨(dú)立的角色。這篇文章把底層邏輯和每個(gè)文件的作用徹底講清楚并且給出一套可以直接復(fù)現(xiàn)的配置方案保證你之后在任何平臺(tái)上配 OpenCV 都不再靠運(yùn)氣。1. 先把底層邏輯拆清楚VS Code 只是編輯器真正干活的是編譯器1.1 三件套的分工以及配置到底在配什么很多人第一次接觸 VS Code 寫 C下意識(shí)把它當(dāng)成一個(gè)裝了就能編譯的 IDE。這是最大的誤解。VS Code 本質(zhì)是文本編輯器它的本職工作是讓你能舒服地看代碼、改代碼它自己不吃.cpp文件更不會(huì)把#include opencv2/opencv.hpp變成可執(zhí)行文件。真正完成這個(gè)翻譯工作的是編譯器在 Windows 上最常見(jiàn)的就是 GCC/MinGW 或者 MSVC 的cl.exe。那 OpenCV 又是什么OpenCV 是一套預(yù)先編譯好的二進(jìn)制庫(kù)里面含有大量現(xiàn)成的圖像處理函數(shù)比如imread讀圖片、cvtColor轉(zhuǎn)色彩空間、imshow顯示窗口。這些函數(shù)不是頭文件里幾行聲明就能憑空變出來(lái)的它們的實(shí)現(xiàn)代碼已經(jīng)被編譯成了.dll或.libWindows 下或.so文件Linux 下。頭文件只是說(shuō)明書(shū)庫(kù)文件才是零件。所以配置 VS Code C OpenCV這件事本質(zhì)上是在解決三個(gè)問(wèn)題讓 VS Code 的 IntelliSense智能提示知道頭文件在哪里這樣代碼里不會(huì)畫紅波浪線鼠標(biāo)懸停能看到函數(shù)簽名。讓編譯器知道頭文件在哪里-I也知道庫(kù)文件在哪里-L并且明確要鏈接哪些庫(kù)-l這樣編譯鏈接才能通過(guò)。讓調(diào)試器知道可執(zhí)行文件在哪里這樣按 F5 才能跑起來(lái)。這三個(gè)問(wèn)題分別對(duì)應(yīng) VS Code 工程里的四個(gè) JSON 文件c_cpp_properties.json、tasks.json、launch.json以及可選的settings.json。很多人配環(huán)境配到一半就放棄是因?yàn)榘堰@三個(gè)問(wèn)題混在一起看出了問(wèn)題根本沒(méi)法定位。用生活化的類比你收到一箱需要組裝的櫥柜VS Code 是工作臺(tái)編譯器是螺絲刀OpenCV 是已經(jīng)加工好的板材和五金件。配置環(huán)境的動(dòng)作就是先把板材放在哪個(gè)貨架、螺絲用幾號(hào)扳手寫清楚然后才開(kāi)始組裝。缺任何一張說(shuō)明后面都會(huì)卡殼。1.2 為什么庫(kù)版本匹配比路徑問(wèn)題更容易讓人放棄路徑寫錯(cuò)這種問(wèn)題報(bào)錯(cuò)信息通常很直白fatal error: opencv2/opencv.hpp: No such file or directory。你一看就知道是頭文件目錄沒(méi)對(duì)上改一下路徑就好。但更折磨人的一種情況是下面這樣undefined reference to cv::imread(std::string const, int) undefined reference to cv::cvtColor(...)報(bào)錯(cuò)信息里沒(méi)有找不到文件只有一堆undefined reference。很多新手這時(shí)候會(huì)懷疑自己代碼寫錯(cuò)了反復(fù)檢查源碼甚至把#include opencv2/opencv.hpp刪了重寫結(jié)果毫無(wú)變化。真正的原因往往只有一個(gè)編譯器用的工具鏈和 OpenCV 庫(kù)的二進(jìn)制格式不匹配。Windows 下這是一個(gè)經(jīng)典大坑。OpenCV 官方提供的 Windows 預(yù)編譯包默認(rèn)是用 MSVCVisual Studio 的編譯器構(gòu)建的庫(kù)文件是.lib格式依賴的運(yùn)行時(shí)是微軟的 VC Redistributable。如果你在 VS Code 里配的是 MinGW 的g兩者二進(jìn)制格式不兼容鏈接器就會(huì)拋出一大堆undefined reference。這是編譯器格式層面的問(wèn)題跟你代碼沒(méi)關(guān)系也不是路徑能解決的。解決方案只有兩種方向要么讓編譯器去適應(yīng)庫(kù)換用 MSVC要么讓庫(kù)來(lái)適應(yīng)編譯器獲取一份 MinGW 構(gòu)建的 OpenCV。我下面推薦的方案正是后者因?yàn)樗?VS Code 這個(gè)輕量編輯器的組合最順部署簡(jiǎn)單也不用安裝幾個(gè) G 的 Visual Studio。2. 工具準(zhǔn)備用 MSYS2 一條龍搞定編譯器與 OpenCV2.1 先決定走哪條路MinGW 還是 MSVC在動(dòng)手下載任何東西之前先選路線。路線決定后面所有配置文件的寫法選錯(cuò)就是白折騰。路線 AMinGW MinGW 版 OpenCV本文主推工具鏈從 MSYS2 安裝一條命令裝完編譯器、調(diào)試器、OpenCV。庫(kù)格式和編譯器格式天然匹配基本不會(huì)出現(xiàn)undefined reference這類二進(jìn)制兼容問(wèn)題。體積小完全本地化適合 VS Code 這種輕量工作流。路線 BMSVC 官方 OpenCV需要安裝 Visual Studio Build Tools 或者完整版 Visual Studio。能完美使用 OpenCV 官方預(yù)編譯包但不裝 VS 的話在 VS Code 里配置cl.exe環(huán)境會(huì)更繁瑣新手容易在中途迷失。建議 Windows 上追求快速?gòu)?fù)現(xiàn)的讀者走路線 A。至于那些從官網(wǎng)下載opencv-4.x.x-windows.exe然后配 MinGW 的教程不是不能看只是它們往往漏掉了官方包是 MSVC 構(gòu)建這個(gè)前提。你把官網(wǎng)包解壓后把build\x64\vc16\lib里的.lib文件硬塞給g鏈接失敗是必然的。2.2 MSYS2 安裝編譯器、調(diào)試器、OpenCV 包一次裝齊先去 MSYS2 官網(wǎng)下載安裝包默認(rèn)裝到C:\msys64。裝完之后打開(kāi)開(kāi)始菜單里的MSYS2 MINGW64注意是 MINGW64不是 MSYS2 那個(gè)黑窗口后者環(huán)境變量不同然后依次執(zhí)行pacman -Syu這個(gè)命令會(huì)更新系統(tǒng)核心包。如果中途提示讓你關(guān)閉窗口就按提示做關(guān)掉重開(kāi)再執(zhí)行一次pacman -Syu完成更新。更新完繼續(xù)裝工具鏈pacman -S mingw-w64-x86_64-toolchain pacman -S mingw-w64-x86_64-opencv pacman -S mingw-w64-x86_64-gdbtoolchain會(huì)包含g、gcc、make等一系列基礎(chǔ)工具opencv包裝的是 MinGW 版 OpenCVgdb是調(diào)試器VS Code 調(diào)試離不開(kāi)它。如果只想裝精簡(jiǎn)版可以只裝mingw-w64-x86_64-gcc和mingw-w64-x86_64-gdb但直接裝 toolchain 更省心。安裝完成后驗(yàn)證一下g --version pkg-config --modversion opencv4如果能看到 g 版本號(hào)和 OpenCV 版本號(hào)比如 4.6.0說(shuō)明環(huán)境基本就緒。這里有個(gè)很實(shí)用的小技巧MSYS2 安裝的 OpenCV 自帶pkg-config配置你隨時(shí)可以用它查看編譯和鏈接參數(shù)pkg-config --cflags --libs opencv4它會(huì)輸出類似-I/mingw64/include/opencv4 -L/mingw64/lib -lopencv_world460的內(nèi)容。這一串參數(shù)就是后面配置 tasks.json 的標(biāo)準(zhǔn)答案比任何教程都準(zhǔn)確。2.3 認(rèn)識(shí)安裝后的目錄結(jié)構(gòu)后續(xù)所有路徑都從這里來(lái)MSYS2 里/mingw64是虛擬路徑在 Windows 資源管理器里它對(duì)應(yīng)C:\msys64\mingw64。裝完 OpenCV 后你需要記住三個(gè)位置內(nèi)容MSYS2 路徑Windows 路徑編譯器/mingw64/bin/g.exeC:\msys64\mingw64\bin\g.exeOpenCV 頭文件/mingw64/include/opencv4C:\msys64\mingw64\include\opencv4OpenCV 庫(kù)文件/mingw64/libC:\msys64\mingw64\lib頭文件目錄里有個(gè)細(xì)節(jié)真正的opencv.hpp位于include/opencv4/opencv2/opencv.hpp。也就是說(shuō)編譯器搜索頭文件時(shí)要么寫-IC:\msys64\mingw64\include\opencv4然后代碼里#include opencv2/opencv.hpp要么直接寫-IC:\msys64\mingw64\include但代碼就要寫#include opencv4/opencv2/opencv.hpp。這個(gè)差異會(huì)導(dǎo)致同一個(gè)教程別人編譯通過(guò)你這邊 fatal error的局面。本文統(tǒng)一采用前一種寫法。還有一點(diǎn)順帶提醒如果把C:\msys64\mingw64\bin加進(jìn)系統(tǒng) PATH你就能在任意終端直接使用g和gdb。具體操作是系統(tǒng)設(shè)置 → 環(huán)境變量 → 編輯 Path → 新增C:\msys64\mingw64\bin。要不要加都行不加的話 VS Code 里用絕對(duì)路徑照樣能工作但是加了之后手動(dòng)排查問(wèn)題會(huì)方便很多。3. 四個(gè) JSON 文件詳解從代碼提示到編譯再到調(diào)試3.1 工程骨架與 .vscode 文件夾的作用先在某個(gè)目錄建一個(gè)演示工程比如D:\Code\OpenCVDemo里面放一個(gè)main.cpp然后新建一個(gè)名為.vscode的文件夾。.vscode文件夾是 VS Code 做工程級(jí)配置的地方里面放四個(gè)文件OpenCVDemo/ ├── .vscode/ │ ├── c_cpp_properties.json │ ├── tasks.json │ ├── launch.json │ └── settings.json └── main.cpp這四個(gè)文件各管一攤事很多人喜歡從網(wǎng)上復(fù)制模板直接粘結(jié)果某個(gè) JSON 里的名字對(duì)不上F5 按下毫無(wú)反應(yīng)。下面逐個(gè)講清楚每個(gè)文件的職責(zé)和關(guān)鍵項(xiàng)。3.2 c_cpp_properties.json紅波浪線和智能提示的開(kāi)關(guān)這個(gè)文件只影響編輯器層面的靜態(tài)分析也就是 IntelliSense。它不改動(dòng)編譯過(guò)程所以哪怕你把這個(gè)文件里的路徑寫錯(cuò)程序也能編譯只是編輯器里一堆紅波浪線。反過(guò)來(lái)如果這里寫對(duì)了但 tasks.json 沒(méi)配代碼不報(bào)紅卻編譯不過(guò)。兩種癥狀對(duì)應(yīng)兩種錯(cuò)誤排查時(shí)別搞混。我的c_cpp_properties.json配置如下{ configurations: [ { name: Win64, includePath: [ ${workspaceFolder}/**, C:/msys64/mingw64/include/opencv4 ], defines: [], compilerPath: C:/msys64/mingw64/bin/g.exe, cStandard: c17, cppStandard: c17, intelliSenseMode: windows-gcc-x64 } ], version: 4 }這里最重要的字段是includePath。${workspaceFolder}/**表示當(dāng)前工程目錄及子目錄這個(gè)保留項(xiàng)能保證你自己的頭文件能被識(shí)別C:/msys64/mingw64/include/opencv4是 OpenCV 頭文件的搜索路徑。注意是opencv4這一層不是include那一層否則代碼里#include opencv2/opencv.hpp會(huì)找不到文件。compilerPath必須和你實(shí)際使用的編譯器一致。intelliSenseMode設(shè)為windows-gcc-x64對(duì)應(yīng) MinGW 64 位環(huán)境。有人不裝 MinGW、用clang編譯器卻忘了改這個(gè)字段導(dǎo)致 IntelliSense 的宏定義判斷完全錯(cuò)誤這也是一個(gè)隱蔽問(wèn)題??傊@里的每一項(xiàng)都要跟你的工具鏈對(duì)號(hào)入座。3.3 tasks.json-I、-L、-l 連在一起才是編譯成功的真相tasks.json 是配置編譯任務(wù)的。VS Code 本身不編譯但它可以替你在終端里調(diào)用編譯器執(zhí)行一串命令。這一節(jié)是整個(gè)配置的關(guān)鍵也是最容易出錯(cuò)的地方。{ version: 2.0.0, tasks: [ { label: build-opencv-demo, type: cppbuild, command: C:/msys64/mingw64/bin/g.exe, args: [ -g, ${workspaceFolder}/main.cpp, -I, C:/msys64/mingw64/include/opencv4, -L, C:/msys64/mingw64/lib, -lopencv_world460, -o, ${workspaceFolder}/main.exe ], group: { kind: build, isDefault: true }, problemMatcher: [] } ] }逐個(gè)拆開(kāi)看-g表示生成調(diào)試信息沒(méi)有它launch.json 里的斷點(diǎn)基本無(wú)效。${workspaceFolder}/main.cpp是要編譯的源文件如果工程里有多個(gè)源文件就寫多個(gè)路徑或者換成${workspaceFolder}/*.cpp但這樣通配符在部分環(huán)境下可能展開(kāi)失敗我習(xí)慣直接列出文件。然后是三個(gè)最重要的參數(shù)-I指定頭文件搜索目錄對(duì)應(yīng)include/opencv4。-L指定庫(kù)文件搜索目錄對(duì)應(yīng)lib。-l指定要鏈接的庫(kù)名-lopencv_world460連在一起是鏈接 opencv_world460 這個(gè)庫(kù)。關(guān)于庫(kù)名有一個(gè)必須理解的規(guī)則-l后面的名字不是文件名完整拼寫。比如文件叫l(wèi)ibopencv_world460.dll.a鏈接時(shí)要寫成-lopencv_world460編譯器會(huì)自己加上lib前綴和后綴去找。如果 OpenCV 不是 4.6.0就改成對(duì)應(yīng)版本號(hào)比如 4.5.5 就是-lopencv_world455。拿不準(zhǔn)的時(shí)候用前面說(shuō)的pkg-config --libs opencv4查一下最可靠。還有一個(gè)鏈接順序問(wèn)題。直覺(jué)上g main.cpp -I ... -L ... -lopencv_world460 -o main.exe這種寫法沒(méi)問(wèn)題但如果不小心把-lopencv_world460寫在源文件前面某些情況下鏈接器會(huì)因?yàn)榉?hào)還沒(méi)有被引用而跳過(guò)庫(kù)最后仍然報(bào) undefined reference。MinGW 對(duì)順序的容忍度比 MSVC 高一些但養(yǎng)成源文件在前、庫(kù)在后的習(xí)慣總沒(méi)錯(cuò)。3.4 launch.json讓 F5 先編譯再調(diào)試launch.json 負(fù)責(zé)配置調(diào)試器。寫完代碼后按 F5VS Code 會(huì)做兩件事先運(yùn)行preLaunchTask指定的編譯任務(wù)然后啟動(dòng)調(diào)試器加載生成的 exe。我常用配置如下{ version: 0.2.0, configurations: [ { name: OpenCV Debug, type: cppdbg, request: launch, program: ${workspaceFolder}/main.exe, args: [], stopAtEntry: false, cwd: ${workspaceFolder}, environment: [], externalConsole: false, MIMode: gdb, miDebuggerPath: C:/msys64/mingw64/bin/gdb.exe, preLaunchTask: build-opencv-demo } ] }program必須和 tasks.json 里-o參數(shù)輸出的文件一致如果這邊是main.exe、那邊卻輸出成demo.exe調(diào)試器會(huì)提示找不到程序。miDebuggerPath是 GDB 的路徑如果你前面沒(méi)有單獨(dú)裝mingw-w64-x86_64-gdb這里就會(huì)卡在無(wú)法啟動(dòng)調(diào)試器。preLaunchTask的值必須和 tasks.json 里label完全一樣注意大小寫。externalConsole設(shè)為false表示在 VS Code 集成終端里運(yùn)行程序這樣你能同時(shí)看到調(diào)試輸出和 OpenCV 彈出的圖片窗口。如果你的程序需要控制臺(tái)輸入再改成true也不遲。每次 F5 都會(huì)先重新編譯這個(gè)設(shè)計(jì)很貼心能避免你改完代碼忘記構(gòu)建、調(diào)試的還是上一個(gè)版本。集成終端的輸出會(huì)顯示類似g ...的命令行如果編譯失敗終端里的錯(cuò)誤信息就是你排查的第一手材料。3.5 settings.json順手處理編碼問(wèn)題settings.json 不是配置工程的必須項(xiàng)但它能解決一個(gè)非常惱人的問(wèn)題中文亂碼。Windows 下 VS Code 默認(rèn)用 UTF-8 保存文件而 GDB 和終端經(jīng)常沿用系統(tǒng)代碼頁(yè)GBK調(diào)試窗口里打印中文注釋或字符串會(huì)變成錕斤拷。我的簡(jiǎn)單配置是{ files.encoding: utf8, editor.formatOnSave: true, C_Cpp.default.cppStandard: c17 }files.encoding把文件編碼統(tǒng)一為 UTF-8和編譯器、編輯器的默認(rèn)行為保持一致。editor.formatOnSave是個(gè)人習(xí)慣保存時(shí)自動(dòng)格式化代碼。C_Cpp.default.cppStandard指定默認(rèn) C 標(biāo)準(zhǔn)如果你要用 C17 的std::filesystem之類特性這里和 c_cpp_properties.json 里的cppStandard保持一致就行。如果你希望 VS Code 的集成終端默認(rèn)打開(kāi) MSYS2 的 MINGW64 環(huán)境可以在 settings.json 里配終端 profile但這屬于進(jìn)階玩法配置不當(dāng)反而會(huì)拖慢啟動(dòng)初期不建議折騰。4. 用一張圖驗(yàn)證配置典型報(bào)錯(cuò)與排查順序4.1 從讀取到灰度化一個(gè)最基礎(chǔ)的 OpenCV Demo配置全部寫完之后用一個(gè)最經(jīng)典的 OpenCV 程序驗(yàn)證整個(gè)鏈路。新建main.cpp貼入下面的代碼#include opencv2/opencv.hpp #include iostream int main() { cv::Mat src cv::imread(test.jpg); if (src.empty()) { std::cerr 無(wú)法讀取圖片請(qǐng)檢查路徑 std::endl; return -1; } cv::Mat gray; cv::cvtColor(src, gray, cv::COLOR_BGR2GRAY); cv::imshow(Source, src); cv::imshow(Gray, gray); cv::waitKey(0); return 0; }這段代碼做了四件事imread讀取當(dāng)前目錄下的test.jpgempty()判斷是否讀取成功cvtColor把 BGR 彩色圖轉(zhuǎn)成灰度圖imshow分別顯示原圖和灰度圖waitKey(0)讓窗口一直等待按鍵。在工程目錄放一張test.jpg然后按 F5。如果一切順利你會(huì)看到兩個(gè)窗口彈出按任意鍵程序退出。注意一點(diǎn)這里的test.jpg是相對(duì)路徑VS Code 的當(dāng)前工作目錄默認(rèn)是${workspaceFolder}所以圖片要放在main.cpp旁邊或者使用絕對(duì)路徑。圖片路徑含中文時(shí)imread容易失敗Windows 下建議一律用英文路徑這是很隱蔽但概率很高的坑。4.2 編譯過(guò)了卻啟動(dòng)失敗DLL 不翼而飛的真相編譯成功并不代表程序能跑。如果你是直接雙擊 exe或者點(diǎn)擊運(yùn)行按鈕后彈出由于找不到 libopencv_world460.dll無(wú)法繼續(xù)執(zhí)行代碼這就是經(jīng)典的運(yùn)行時(shí) DLL 找不到問(wèn)題。原因很簡(jiǎn)單g鏈接時(shí)用的是-lopencv_world460生成的 exe 內(nèi)部記錄了需要加載libopencv_world460.dll。Windows 在啟動(dòng)程序時(shí)會(huì)按照程序所在目錄 → 系統(tǒng)目錄 → PATH 環(huán)境變量的順序查找 DLL。MSYS2 安裝的 OpenCV DLL 在C:\msys64\mingw64\bin目錄下如果你的 PATH 沒(méi)有加這個(gè)目錄程序自然找不到。兩種解決方法把C:\msys64\mingw64\bin加到系統(tǒng) PATH 環(huán)境變量一勞永逸。把libopencv_world460.dll這個(gè)文件從C:\msys64\mingw64\bin復(fù)制到main.exe所在目錄適合只想快速驗(yàn)證的臨時(shí)方案。我更推薦第一種。因?yàn)楹罄m(xù)你還會(huì)用到gdb.exe、g.exe把整個(gè)bin目錄加進(jìn) PATH 能同時(shí)解決編譯器命令、調(diào)試器和運(yùn)行時(shí) DLL 三件事。改完 PATH 記得重新打開(kāi) VS Code環(huán)境變量才會(huì)重新加載。4.3 常見(jiàn)報(bào)錯(cuò)排查速查表下面把配置 OpenCV 過(guò)程中最常見(jiàn)的幾類報(bào)錯(cuò)整理成一張速查表對(duì)癥下藥即可。報(bào)錯(cuò)現(xiàn)象直接原因排查與解決fatal error: opencv2/opencv.hpp: No such file編譯器或 IntelliSense 找不到頭文件檢查 tasks.json 的-I路徑和 c_cpp_properties.json 的 includePath 是否指向include/opencv4undefined reference to cv::imread(...)庫(kù)鏈接失敗或庫(kù)與編譯器格式不匹配檢查-L、-l是否寫對(duì)確認(rèn) OpenCV 是 MinGW 版而非官網(wǎng) MSVC 版提示找不到libopencv_world460.dll運(yùn)行時(shí) PATH 缺少 DLL 目錄把C:\msys64\mingw64\bin加入系統(tǒng) PATH或把 DLL 拷貝到 exe 旁邊launch: program ... does not existtasks.json 輸出的 exe 和 launch.json 的 program 不一致對(duì)比兩邊路徑確保-o和program指向同一文件調(diào)試器啟動(dòng)后立即報(bào)miDebuggerPath錯(cuò)誤GDB 沒(méi)裝或路徑不對(duì)確認(rèn)C:\msys64\mingw64\bin\gdb.exe存在必要時(shí)重新pacman -S mingw-w64-x86_64-gdb終端輸出中文亂碼文件編碼與終端代碼頁(yè)不一致settings.json 設(shè)files.encoding: utf8終端執(zhí)行chcp 65001這些報(bào)錯(cuò)里前兩個(gè)占了九成。如果你遇到的是undefined reference除了檢查參數(shù)之外還要回到 1.2 節(jié)那個(gè)本質(zhì)問(wèn)題你的編譯器工具鏈必須和庫(kù)的構(gòu)建工具鏈匹配。這一點(diǎn)反復(fù)強(qiáng)調(diào)因?yàn)樗_實(shí)是最容易被忽略、也最耗時(shí)的。4.4 圖片讀不出來(lái)路徑里的隱形雷區(qū)Demo 編譯運(yùn)行都正常但程序輸出無(wú)法讀取圖片——這個(gè)問(wèn)題看起來(lái)簡(jiǎn)單實(shí)際上一旦觸發(fā)中文路徑陷阱就會(huì)變成百度搜不到答案的疑難雜癥。cv::imread在 Windows 上底層使用fopen對(duì) UTF-8 編碼的中文路徑支持很差。如果你的工程目錄里有中文比如D:\代碼\OpenCVDemo\test.jpg即使文件真實(shí)存在imread也可能返回空矩陣。解決方式是讓整個(gè)工程路徑保持純英文包括圖片文件名、文件夾名、甚至用戶名目錄某些情況下用戶名為中文會(huì)波及臨時(shí)目錄。第二個(gè)常見(jiàn)原因是圖片和程序不在同一目錄。有些人把圖片放在桌面然后把imread(C:\\Users\\...\\Desktop\\test.jpg)寫成imread(Desktop/test.jpg)以為是相對(duì)路徑實(shí)際上工作目錄根本不是桌面。建議在代碼里用絕對(duì)路徑或者把圖片放進(jìn)工程目錄再配合cwd設(shè)置來(lái)避免這種混亂。5. 進(jìn)階當(dāng)項(xiàng)目越來(lái)越大tasks.json 會(huì)撐不住5.1 什么時(shí)候應(yīng)該切到 CMaketasks.json 手寫g命令在單個(gè)文件的小項(xiàng)目里很順手但一旦項(xiàng)目變成多文件、引入多個(gè)第三方庫(kù)、或者需要有條件的宏定義它就很難維護(hù)了。舉個(gè)例子你有main.cpp、utils.cpp、camera.cpp三個(gè)文件tasks.json 里就得寫三個(gè)源文件路徑每新增一個(gè)文件就要改一次配置。如果還要鏈接 Eigen、OpenCV、Boost 等多個(gè)庫(kù)args會(huì)膨脹到幾乎沒(méi)人愿意看。這時(shí)候應(yīng)該切換到 CMake。CMake 是一個(gè)跨平臺(tái)構(gòu)建系統(tǒng)它不直接編譯而是生成編譯規(guī)則的描述文件。先安裝 VS Code 的 CMake Tools 擴(kuò)展然后創(chuàng)建一個(gè)CMakeLists.txtcmake_minimum_required(VERSION 3.10) project(OpenCVDemo) set(CMAKE_CXX_STANDARD 17) find_package(OpenCV REQUIRED) add_executable(demo main.cpp utils.cpp) target_link_libraries(demo ${OpenCV_LIBS})find_package(OpenCV REQUIRED)會(huì)自動(dòng)定位系統(tǒng)里安裝的 OpenCV${OpenCV_LIBS}是 CMake 解析出來(lái)的鏈接庫(kù)列表target_link_libraries負(fù)責(zé)把庫(kù)掛到目標(biāo)可執(zhí)行文件上。這樣你再也不用關(guān)心-L、-l的具體寫法CMake 全部替你搞定。CMake 需要依賴cmake命令在 MSYS2 里執(zhí)行pacman -S mingw-w64-x86_64-cmake即可。裝完后在 VS Code 里按CtrlShiftP輸入CMake: Configure然后CMake: Build編譯輸出會(huì)出現(xiàn)在底部面板。這個(gè)工作流更接近真實(shí)項(xiàng)目的標(biāo)準(zhǔn)做法也更容易遷移到其他電腦。5.2 跨平臺(tái)配置的思路遷移當(dāng)你看懂了這套配置的底層邏輯后換到 Linux 或 macOS 只是換路徑和包管理器的問(wèn)題思路完全一致。Linux 上安裝 OpenCV 用系統(tǒng)包管理器例如 Debian/Ubuntu 系sudo apt update sudo apt install libopencv-dev安裝后的頭文件通常在/usr/include/opencv4庫(kù)文件在/usr/lib/x86_64-linux-gnu。那么在 tasks.json 里對(duì)應(yīng)改成-I, /usr/include/opencv4, -L, /usr/lib/x86_64-linux-gnu, -lopencv_world,macOS 上用 Homebrew 的話就是brew install opencv路徑通常是/opt/homebrew/include/opencv4和/opt/homebrew/lib??梢钥闯霾还芷脚_(tái)怎么變核心永遠(yuǎn)是那三件事頭文件路徑、庫(kù)路徑、庫(kù)名。明白了這一點(diǎn)你看網(wǎng)上任何一份配置教程都能知道它寫的是哪條路線的配置而不需要逐字照抄。5.3 一條個(gè)人習(xí)慣排錯(cuò)時(shí)先把 VS Code抽離出去最后分享一個(gè)我屢試不爽的排查方法。當(dāng)你覺(jué)得 VS Code 配置怎么都調(diào)不通的時(shí)候先不要盯著一堆 JSON 文件反復(fù)改而是打開(kāi)一個(gè)獨(dú)立的 MSYS2 MINGW64 終端手動(dòng)執(zhí)行這一條命令g -g main.cpp -I C:/msys64/mingw64/include/opencv4 -L C:/msys64/mingw64/lib -lopencv_world460 -o main.exe如果終端里編譯通過(guò)說(shuō)明編譯器、OpenCV、代碼本身都沒(méi)有問(wèn)題問(wèn)題百分百出在 VS Code 的配置細(xì)節(jié)上比如label不匹配、路徑寫錯(cuò)、環(huán)境變量沒(méi)刷新。如果終端里同樣報(bào)錯(cuò)那問(wèn)題就在工具鏈本身需要用pkg-config --cflags --libs opencv4核對(duì)參數(shù)或者檢查庫(kù)的二進(jìn)制格式。這個(gè)方法等于給問(wèn)題做了一次歸因分離。VS Code 只是殼真正的核心是編譯器命令。先把核心命令跑通再回頭檢查殼上的配置效率會(huì)高非常多。我見(jiàn)過(guò)太多人被 VS Code 的報(bào)錯(cuò)面板牽著走在 IntelliSense、tasks、launch 三個(gè)文件之間來(lái)回改最后才發(fā)現(xiàn)只是 PATH 沒(méi)生效這種小事。配置環(huán)境這件事最怕的就是不總結(jié)、反復(fù)試錯(cuò)。把一次成功配置里的每條命令、每個(gè)路徑吃透其實(shí)你獲得的是一套在任何平臺(tái)組裝開(kāi)發(fā)環(huán)境的思路。下次再需要配上別的庫(kù)無(wú)非是把 include 路徑、lib 路徑、庫(kù)名換一下而已。希望這篇經(jīng)驗(yàn)?zāi)軒湍阋淮涡园?VS Code C OpenCV 跑通然后安心去做真正有意思的圖像處理。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
少妇淫妇久久久久久久| 91女在线观看| 日韩精品一区,二区 九九...老司机| 天美传媒麻豆一区二区三区国产精| 亚洲欧洲日韩天堂av| 日本亚洲vr欧美不卡高清专区| 好一吊区二区| 岛园激情| 午夜精品人妻二区三区| 国产精品无码久久久久2025| 麻豆人妻偷人精品无码视频| 亚洲色系另类精品国产| 91最新综合| 久久精品国产亚洲AV先锋| 日韩成人综合网| 极品出轨视频网站| 国产97色在线| 蜜桃传媒视频第一区入口在线看| 再深点灬舒服灬太大了好硬好爽| 夜夜精品视频一区二区| 亚洲黄网在哪免费看| 日韩无码服务区| 欧美日韩操操操| 国产乱伦亚洲色图高清无码| 操香逼| 天天影视色香欲综合网小说| 狠肏骚人妻| 久久性生大片免费观看性| 亚州伊人色综台| 啊v在线观看视频| 色色色热| 探花视频免费观看国产专区| 丰满少妇高潮无码| 亚洲蜜乳av| 99久热精品99re6热| 奇米四色网| 99精品丰满人妻无码| 亚洲精品天堂久久A∨51成人漫| 96国产污污污丝袜| 色婷婷九月天天综合| 精品大全99999| 91麻豆天美国产欧美日| 亚洲影院365| 女生自91网站| 一起草精品人妻| 精品人妻久久久久一区二区三区| 91艹逼精品| 亚洲AV无码翔田千里网站| 劲爆欧美人妖三区91| 亚洲AV永久无码一区仙野| 亚洲 欧美 日本 国内 首页| 不卡超碰护士AV在线免费播放| 免费人成毛片乱码| 毛片麻豆91糖心精品毛情片| 天美传媒一二三区永久网站| 一区操逼| 本道综合精品| 久久久久大香青草精品综合| 91青视频| 在线无码操| 麻豆天美一区二区| 九九九九精品一区| 日韩中字av一区| 18禁精品网站在线看| 加勒比久久av| 91麻豆天美国产| 亚洲制服欧美另类内射| 欧美18老人禁| 蜜臀久久99精品久久久久久酒店| 超碰综合色| 99色婷婷| 伊人网综合在线视频| 91美| 99re在线视频国产| 色噜噜人妻av 中文字幕| 成人自拍三级在线观看| 欧美综合另类| 蜜桃狠狠色伊人亚洲综合 | 台欧久久精品视频| 成人福利视频网| 日韩成人无码| 97超碰欧美中文字幕| 极品粉嫩少妇视频| 国产11页| 91久久久久久久久18| 亚洲国产成人精品久久久国产成人一区二区| www被窝色com| 久久久久密臀一区二区| 天天看综合网| AA丁香综合激情| 三级AV入口| 91天天综合网| a啊啊啊啊啊啊啊啊一区二区| 国产精品丝袜久久亚洲不卡| 欧美少妇第一页| 色色色热| 亚洲欧美国产日本一区二区三区| 国产精品黄色三级av| 丁香九月婷婷| 人人妻人人爽一区二区三区| 天天日熟妇| 75大香蕉| 熟女一区二区| 91天天综合网,天天综合网| 涩五月婷婷| 日本日皮视频逼| 在线色导航| 精品无码久久久久久久久果冻糖心| 福利天天都操| 老熟妇一区二区三区| 大香蕉欧美日韩| 国产馆极品诱惑| 97人人干人人操| 亚洲成A∨人影院在线欢看| AV和黑人在线播放| 秋霞网—男女啪啪亚洲免费体验区| 九热久| 素人伊尹大香蕉免费下载视频| 精品一区二区三区四区女| 欧美日韩免费专区在线| 亚洲另类久操网| 台湾佬激情综合| 91日韩在线| 91超级碰| 欧美综合自拍成人自拍第二十页| 男人天堂久久精品| 国产高清1234区| 91精品综合久久久久久五月丁香| 国产精品久久久亚洲一区| 熟女人妻久久中文字幕一二区| 日本道久久综合色色| 久久久久国产精品喷潮免费观看臀| 另类 日韩 熟女| 在线观看AV片| 亚洲欧美精品91| 亚洲综合伊人无码久久| 欧美亚洲中文字幕| 欧美第一页| 国产精品成久久久久午夜午夜| 久久久999| 男女无套 免费网站| 一级人妻性爱视频| 人妻一区视频| www.狠狠| 精品网站9999| 亚洲Av噜噜一区二区三区妖精| 男人网站婷婷| 久久久久久中文| 91色亚洲| 人人贴人人摸| 在线精品福利免费播放| 久久黄黄| 婷婷美人网| 久久是精品| 亚洲好色人妻| 国产91福利小视频在线观看| 成人午夜小视频手机在线看| 亚洲午夜AV| 蜜臀久久99精品久久综合| 一区二区三区网站日日骚| 久久天天躁日日躁狠狠躁| 97在线观视频免费观看| 九九九九热只有精品| 日日骚中文字幕| 伊人一区二区在线播放| 人人爱人人操人人性| 乱老女人一区二区视频| 中文字幕在线观看第二页| 91爱看| 欧美成人贴图| 久久在线观看免费视频| 国产精品大香蕉| 欧美日本久久精品一区| 十八禁电影伊人网| 一区二区三区免费视频入口| 一区二区三区精品久久| 物尤视频一区二区| 欧美美逼| 变态乱伦伪娘灌肠一区二区| 欧美99| 天天综合网91入口| 大香蕉狠狠爱| 91三级理论片播放器| 午夜精品久久久久久久男人的天堂| 啊啊啊好湿久久| 天天影视综合色| 国产乱伦搜索结果91P| 欧美黄片免费在线观看视频| 天天影视网综合少妇| 欧美日韩国产电影| 亚洲国产综合图区中文字幕| 免费作爱一级视频| 日本一二三高清| 欧美日韩中文字幕不卡| 日本999精品| 日韩BBN| 欧美黄色片在线播放| 97五月天| 欧美丰满少妇交换91欧美精品| A级国产欧美激情在线| 日本色婷婷| 另类成人首页一区| 户外裸露刺激视频第一区| 日韩AV中文字幕电影| 麻豆一区二区三区在线看 | 婷婷亚洲综合| 欧美黑人日韩少妇色情| 操逼视频亚洲| 天天日天天屌天天操| 亚洲中文字幕在线视频一区二区| 婷婷色综合| 精品乱码在线观看| 欧美综合娱乐久久| 中文字幕制服欧美久久一区| 啊啊啊好多水| 美腿色图| 91精品亚洲内射孕妇| 欧美亚州手机在线| 人妻久久| 五月丁香六月激情综合| 中文区中文字幕免费看| 综合自拍| 国产夫妻性生活视频| 欧美色视频在线| 欧美中文字幕一区 | 国产9l 大屁股| 婷婷在线精品| 女人综合网| 欧美国产日韩清纯唯美| 夜夜欢天天干| 天天色悠悠激情| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区 | 国产精品视频在线播放 | 少妇第一页| ..日韩av毛片精品久久久| 狠狠亚洲| 国产AV无码AV| 亚洲AV不卡在线观看| 人妻中文字幕日韩电影| 91亚.色| 看日韩操逼| 国产精品九九| 另类小说五月天| 黄页av| 日本精品人妻少妇一区二区| 欧美性爱91| 日韩精品人妻中文字有码在线| 精品国产91内射久久| 伊人国产视频| 中文字幕一区电影在线观看| julia ann久久| 亚洲 欧美 手机在线观看| 丝袜色综合| 九九99精品| 九九综合| 欧美成人性爱视频在线播放 | 人妻少妇色综合| 操逼无码一区| 综合第一页| 国产视频一区二区三区久久亚洲天堂| 国产隔壁老王影院在线| 人妻美腿丝袜日韩| 天天综合亚在线| 久久精品国产亚洲妲己影视| 91 亚洲情侣偷拍 久久| 欧美拳交在线播放| 亚洲国产ⅴ高清在线观看| 欧美色色人| 免费黄色片子| 精品三级在线专区| 黄久久| 亚洲 91 在线| 国产精品久久久久久久黄无码| 少妇贴图| 欧洲亚洲人妻无码中字久久三区四区| 影音先锋中文字幕日本好一区二区| 人妻熟女一区二区三区视频| 欧美亚洲一区二区久久久婷精品大包诱| 国产精品原创巨作?v网站| 久久久九九| 后入 亚洲 美女 射| 韩国午夜理伦三级好看| 男人天堂新在线| 91久久午夜无码鲁丝片久久人妻| 两性综合网| 91精品人| 神马久久免费电影观看| av情色影音| 乱伦系列一区二区| 最近2018中文字幕在线高清第一页| 综合久久99亚洲人妻中文在线| 中文字幕在线观看丝袜| 一本大道不卡一二三区| 欧美性爱一区二区| 92大香蕉| 久久爽爽精品| 97超碰jingpin| 无码操逼网| 久久久一区二区三区四区五区| 60秒免费小视频| 人妻激情另类| 欧洲一级性爱视频在线观看| 日B操| 九九九九九九精品| 久久九精品| 18精品一区| 人妻人人操| 亚洲综合另类小说色区亚洲成av人片在www | 亚洲精品国语在线播放| 少妇的嫩逼图片| julia中文字幕在线观看| 91黑丝露脚| 久久久无码av精| 亚洲无码超碰免费| 欧美另类色图片| 91九色蝌蚪在线观看| 午夜精品久久一区二区| 久九色| 国产九九九九九九| 中国熟女网站| 久久曰曰| 久久久av爱| 99色悠悠| 裸体美女国产免费久久久网站| 日韩精品永久在线观看| 亚欧性爱ab| 免费一级a毛片久久久久久鸭绿欲| 插入逼91| 天天影视色香欲综合网小说| 蜜臀久久99精品久久久久久无删减 | 亚洲精品乱码线路中文字幕| 翔田千里A片一区二区| 成人性生活高清视频在线播放| 久久噜噜噜精品国产亚洲综合| 乱子伦一区二区三区国产精品| 91麻豆天美传媒HD| 久久人爽| 久久久久久久久久久久欧美日| 蜜臀色乳| 精品欧美日韩在线观看| 97超级色碰碰| 午夜九九| 东京热,男人的天堂| 天天影视网色欲色香| 久久综合久色欧美综合狠狠 | 射丝袜高跟鞋99| 亚洲人成色9999精品久久| 日韩草久视频| 97露脸精品丝袜| 1区2区3区中文字幕日韩| 日本日日色视频| 九九热这里只有在线精品视 伊人草 成人菠萝蜜视频在线观看 | 亚州男人天堂| 亚洲一区在线观看欧洲| 岛国色情视频在线观看| 亚欧Av| 国产强奸超碰AV| 91超级碰| 色一射色一射| 国产亚洲色婷婷99精品91| 男人的天堂在线| 超碰视97中文| 亚洲视频精选| 91国产操逼视频| 久久首页| 99色| 久插综合| 青青草影视蜜久久| 亲子敌伦对白在线播放 | 精品人妻1区| 一区二区三区 日韩欧美| 日本欧美国内在线| 成人无码专区精品视频| 综合97久久| 蜜臀久久99精品久久久久久成人小说 | 国产麻豆91欧美一区二区久久婷婷国产精品| 99热精品在线观看| 人妻性爱一区二区| 丁香婷婷九月| 九九九九精品| 国产大陆天天艹| 日本 欧美 国产一区| 熟女视频久久| 久久人妻无码毛片A片麻豆| 国产91 丝袜在线播放 | 国产精品白丝www| 欧美综合第一页| 日婷婷| 亚洲一区二区三区中文字幕| 91粉嫩萝控精品福利网站_精品影音先锋国 | 日韩78m视频| 久久精品无码熟妇一区二区三区视频导航 | 欧美美逼| 被男人吃奶很爽的毛片| 亚洲欧美日韩夜夜| 国模不卡一本二本三电影| 色偷偷综合91久久噜噜| 国产午夜精品理论片一二三区区| 国语对白在线播放视频| 黄色二级片网站| 日韩人妻精品| 日韩操逼性鲍| 欧亚乱色熟一区二区三四区| 玖玖爱伊人玖玖爱| 无码高清少妇久久| 九九九九久久久| 超碰久在线天天做| 超碰在线欧美性爱激情| 天天流夜夜操| 欧美日韩亚洲少妇寂寞影院正在播放| 人人摸.人人色| 99热在线播放| 97超碰影音| 欧美1区二区三区公司| 色情成人五月天| 青青草玖玖爱| 九月丁香婷婷色| 久久女人视频| 亚洲男人的天堂va亚洲男人社| 色色色色日本| 九九久久国产精品| 国产捆绑一区| 99色色网| 无人区高清电影免费观看一区二区三 www.qmcai2.com | 亚洲国产美女久久久久| 操久久久久久| 好涩综合| 97人人干| 婷婷丁香人妻 | 一级黄色性爱裸体视频| 夂久色| 久久99干一本高清| 蜜臀AV网站| 久久久久9999妇女| 加勒比在线视频一区二区三区 | 噜噜在线| 亚洲制服aⅴ中文字幕| 日本中文字幕在线电影| av九九| 97国产精品久久久久| 韩国手机不卡无码三级视频| 9999伦理视频| 1769一区| 蜜桃视频一区二区三区在线观看| 99久久国产精品免费高潮| 91黑丝露脚| 青草精品视频一日本久久久久网站| 日本视频一区二区三区| 97 九色| 精品国产精品一区二区| 激情丁香婷婷| 久久久噜噜噜久久久| 男人的天堂Va| 视频国产欧美在线播放| 一区二区娱乐网站| 亚洲图片欧美偷拍| 一区二区三区精品黑丝白丝酒店对鸡 | 看日韩操逼| 丝袜狠狠草尤物 91| 亚洲97久久精品亚洲| 亚洲综合射| 亚洲AV噜噜狠狠网址蜜桃动漫| 精品十三区| 国产精品露脸在线观看| 极品后入免费视频| 久久国内| 中文字幕1区2区| 91五月天| 日本羞羞的视频在线播放| 日韩成人午夜精品久久高潮| 人人搞人人插人人操| 2019亚洲男人天堂| 羞涩视频| 国产97在线播放| 干婷婷综合网| 欧美天天弄| 天天操女人| 92性色国产午夜福利在线661| 免费人人搞97| 久久综合女优| 成人国产精品三级A片| 乱人乱色一区二区三区免费| 91neishe| 蜜乳AV.COM| 性色高清..……| 人妻嗯啊啊在线播放| 亚洲欧美一区二区网址| 97爱亚洲综合色| h色99999| 日韩乱插| 亚洲国产蜜臀系列在线观看| 中文激情网| 91综合色| 久久久久久久9最新免费视频观看| 无码国产精品午夜不卡( | 亚洲成人在线乱码色午夜| 欧美三级不卡| 午夜福利免费福利视频| 久久国产精品m码| a人欧美综合天堂麻豆| 最新日产中文在线麻豆| 91色综合| 夜夜嗨TV| 国产AV人人 夜夜人人澡| 人人色人人操在线| 亚洲av无码国产精品字幕| 日本黄页视频在线观看| 爱爱动态120秒| 欧美另类精品xxxx| 日日骚中文字幕| 麻豆精品三区视频| 六月婷激情福利天堂69| 人人操人人摸人| 2021国产成人精品久久| 后入综合久久| 久操在97| JULIA人妻风俗店中出电影| 福利在线观看一区二区| a片久久久久久久久久久久 | 亚洲人成在线放东京热| 激情四射婷婷六月天| 九九热免费国产视频婷婷伊人五月 | 国产av激情无码久久天堂| 一本大道久| 久久国产对白激情浪潮| 极品内射| 91逼逼女人91| 国产成人综合网| 色欲蜜臀AV| 亚洲 欧美 精品专区 极品| 96超碰网| 人妻 欧美亚洲| 欧美成人综合| 爱干爱射网啊啊啊| 你操综合| 激情综合五月天| 日韩美女操b| 日韩不卡毛片Av免费高清| 超碰97色色| 欧美性爱18观看| 久久嫩草| 欧美手机在线综合| 国产久久久久影院老熟女| 午夜天堂网| 日韩97超碰中文字幕| 免费视频a级毛片免费视频| 午夜福利在线合集| 国产Aα| 久久精品国产AV一区二区三区| 91综合站| 国产精品不卡一区二区三区| 午夜福利国产欧美日韩夜夜| 亚州色站 日韩电影| 欧美五十路熟| 成人a v在线播放免费| 性色av婷婷久久一区二区点复制| 中日韩久久久| 亚洲乱码国产乱码精网站| 日韩激情啪啪啪| 飘花国产午夜精品不卡| 国产精品成人无码a v毛片| 八戒午夜福利理论片| 亚洲国产精品成人综合| 大香蕉免费3| 成人av毛片在线观看| 午夜男女爽爽大片免费观看| 色网站导航大全| 日韩一级性爱无码| 超清福利精品视频在线| 色操逼网| 久久九九国产精品| 欧美成人性爱视频大全| www.99热| 久久久影院| 欧美久久毛片基地| 操亚州| 美熟女逼导航AV操逼| 好爽要喷了| 日韩欧美麻豆 | 超碰久超碰久| 91亚洲欧洲| 国产资源中文字幕在线| 国产美女自拍AV| 黄色网址在线免费观看| 91超级碰| 亚洲熟妇丝袜在线观看| 裸体美女久久久| 超碰久草| 日本一区二区不卡| 日韩欧美成人午夜福利| 免费看欧美美女黄色大片| 超碰成人免费| 青青草视频爽一爽| 98福利在线视频| 三及片网站| 啊啊啊啊啊啊啊网址在线观看| 欧美性爱一级操| 欧亚性爱在线视频| 中国AV美女| 熟妇女伦乱视频| 97超碰人人模人人拍人人| 欧美亚洲素人制服精品| 亚卅熟女乱色| 999久久久久久久精| 色五月第四色| 国产精品伦理| 亚洲春色欧美激情自拍| 亚洲少妇综合在线播放| 亚洲人妻一区二区三区| 噜噜噜久久亚洲精品色情| 国产视频97| 欧美性爱精品七区| 国产精选三级在线观看| 精品大久久| 久久久成人免费av电影| 成人一二| 一区二区娱乐网站| 97超碰巨乳| 91爱剪切久久| 人人妻人射| 国产黄a三级三级三级av在线看 | 国产性刺激| 超碰在线在公开超碰在线在公开| 在线αⅴ| 色999亚洲人成色| 99色骚| 精品69网| 激情干在线| 91精品人妻一区二区三区蜜桃臀| 99超碰网| 久久九九视频九九视频| 精品免费一区二区三区在线亚洲人成| 曰本道人妻久久久在线不卡色视频 | 99无码| 无码抄逼网| 啊啊啊97视频| 亚洲情色综合| 超碰精品在线| 伊人久久亚洲色欲综合网站 | 夜夜嗨一区二区| 91 国产丝袜在线播放-百度| 国产无码三级视频在线观看| 色婷婷五月天| 欧洲站一级二级三级h| 一区二区三区亚洲| 宅男91视频在线播放| 超碰色97| 99视频在线| 神马九九九| 狠狠中文字幕| 久久亚洲人妻| 在线有码中文字幕| 肥臀熟女福利视频一区二区| 97视频免费播放| 亚洲成?V人片在线观看福利| 劲爆欧美人妖三区91| 欧美日韩另类在线| 久久av网| 在线毛片片免费观看| 91在线|亚| 妇女一区二区三区| 婷婷色婷婷| 欧美色图99| 无码视频黄色网战| 欧美色道啊| 亚洲人妻中文高清| 91无码人妻| 亚洲精品xxx| 亚州综合图片| 国产精品极品美女视频| 国产精品丝袜久久亚洲不卡| 国产亚洲精品农村妇女| 神马久久69| 隔壁邻居波多野结衣中文字幕 | 神马久久免费电影观看| 免费看欧美美女黄色大片 | 影音先锋少妇| 精品乱码久久久久| 亚洲一区二区三区中文字幕| 麻豆精品三区视频| 蜜乳AV一区二区三区四| 亚洲91综合| 东亚亚洲无码高清| 玖玖资源视频一区二区三区| 日本女人操逼| 热热色中文无码| 欧洲综合视频| 一区操逼| 搡老女人老91妇女熟女| 免费一级毛片在线视频观看| 欧中美三级一区二区三区| 五月花婷婷| 精品一区二区三区免费古装毛片香港三级日本三级人妇 | 欧美成人一级麻豆| 欧美一级色| 日韩性色b| 日韩视频中文字幕| 久草精品国产蜜臀| 久久久9999| 思思久热在线精品66| 欧美亚洲国产自久久| 国产一区二区三区免费视频在性观看 | 国产成人拍国产亚洲精品| 欧美人妻久久精品二区三区| 狠狠躁AV| 午夜无遮挡男女啪啪视频| 暴力av在线| 美女操逼福利视频| 91丝袜人妻| 麻豆久久视频在线地址| 内射夫妻三片| 亚洲综合校园春色| 成人看片网站| 无码高清操逼| 免费超碰97久久| 99精品网| 日韩高清黄片| 91蜜臀人妻中文字幕在线| 欧洲天天在线| 久久91精品国产9丨久久分亭| AV中文字幕三四五| 日本97久久久精品| 精品一区二区亚洲国产| 丰满人妻一区二区三区色-百度| 色五月天AV| 精品国产片亚洲一区| 久久只有精品| 大香蕉92| 高树玛利亚无码流出| 久久久久成人亚洲国产| 好色综合| 俺也射| 嗯嗯,啊啊,国产精品| 国产专区第一页| 中文字幕第2页| 五月开心久久AV官网| 七久久久| 成人性爱美曰韩| 十八禁啪啪视频| 蜜臀av中文字幕| 男人的天堂激情| 超碰精品在线| 人人潮人人摸| 大香蕉欧美| 国产97综合| www.高清无码诱惑一区.com | 久久久国产成人一区二区三区在线| 中文字幕蜜乳av| 超碰偷拍| 国产美女口爆吞精| 欧洲综合视频| 婷婷亚洲综合| 探花在线免费观看视频国产一区| 日本视频在线中文字幕| 97在线播放| 久偷拍欧美日韩三区| 一区黄二区黄| 亚洲激情综合| 亚洲aV性爱| 曰本人妻人人澡人人夹| 亚洲无码精品AV久久久| 人妻丝袜一区二区三区在线| 97av,com| 亚洲色图国产另类| 国产视频一区二区在线观看| 五月婷在线| 精品超碰国产| 日本性爱不卡视频| 亚洲av综合色区图片亚洲| 亚洲精品久久久久毛片A片拉屎| 夜夜嗨一区| 久久九操在线观看| 色麻豆AV| 成人久久精品| 东北女人被操| 欧美熟女激情| 亚洲综合春色| 欧美日韩性感| 日本 欧美 亚中文字幕| 五月婷婷综合激情| 97人人超| 亚洲国产日韩欧美熟妇在线| 亚洲一区二区性爱电影| 人妻系列无码专区中文有码| 日日噜噜夜夜狠狠视频无| 国产女s强制榨精视频| 日本欧美中文字幕| 好吊色综合| 东京热毛片177b2viP| 欧洲精品二区| 色香av| 97久久久久| 欧美碰碰综合色| 中文字幕乱码在线观看| 亚洲国产日韩精品久久久| 国语精品对白| 99re6在线视频播放免费精品| 精品高清牛人盗摄一区二区三区中文字幕A片免费在线观看 | 国产18精品亚洲精品| 国产中文字幕曰本毛片| 3D污黄视频在线观看| 久久精品国产亚洲AV高级北京| 国产亚洲精品美女久久久m| 国产黄色 A 片免费看| 久久精品国产亚洲AV无码电影| 亚洲成人久久一区二区| 欧美极度丰满熟妇hd| 精品少妇一区二区三区在线视频| 九九色精品| 中文字幕人妻丝袜| 国产怡红院| 久久一二三四不卡 | 久肏视频字幕| 97国产精品一区二区传媒公司| 精品日韩| 欧美真人抽搐一进一出gif| 嫩草在线视频| 亚洲强奸乱伦影视网| 成片免费播放| 久久久影院| 99蜜桃臀亚洲成人在线观看| 日本好吊色视频| 99热这里只有精品1| 欧美写真视频一区| 99精品国产户外露出| 人妻少妇被猛烈进入中| 午夜精品探花| 99成人| 久久夜色一区二区| 肉丝无码中文高清| 外国免费性情大片| 精品日韩人妻视频| 99热最新网址| 好吊色综合| 欧美精品三级黄片| 成人av在线播放| 太久视频| 色噜噜综合网| 欧洲精品一二三在线| 久久久久久久久久久久久9999| 亚洲成a人在线观看久| 免费看国产曰批40分钟怎么下载| 日韩性爱高清免费视频| 亚洲AV无码天美传媒一区| 97精品97| 欧美亚洲首页| 色色网91| 久久久婷| 丝袜翘臀后入欧美校园亚洲自拍另类小说一区中文字幕少妇诱惑 | 欧美 亚洲精品首页| 呦女网站| 在线一道啪| 野狼激情网| 啊啊啊啊啊好舒服视频| 久久99人妖视频国产| 东京热亚洲一区二区| a人欧美综合天堂麻豆| 美女黄色91| 国产精品爱欲| 天天日少妇逼AV| 九区国产| 加勒比伊人| 欧美疯狂做爰xxxx| 有码色中文字幕在线观看| 综合亚州欧美| 2017人人操,人人摸| 97自拍视频在线| 久久草视频污视频| 天天综合网网欲色| 一级啊性爱在线视频| 97色97好| 亚洲日韩电影| 亚洲第一在线视频| 欧洲精品一区二区三区| 亚洲超碰97| 国产精品秘 福利姬在线观看| 久久久久久久久久久久黄色 | 欧美色图综合网| 久久亚洲精品成人av| 欧美久久婷婷| 国产一国产一级毛片古装| 久久无码电影| 嗯嗯啊好大| 国产在线观看一区二区三区| 丁香五月影院| 激情文学亚洲| 国产精品婬乱一级毛片彝族| 欧美色图片91| 97超碰站| 99激情| 色九色久| 久久三| 精品久久久不卡一区二区| 高清有码一区二区| 久久极品一区二区| 亚洲一区二区中文字幕| 国产高清精品福利| 超碰午夜| 日韩熟女乱伦中出| 午夜精品久久久99| 很很操在线| 人人澡人人爽人人精品| 我要色综合网| 青草视频在线看看看看看看看看看| 黑人粗大V S日韩女优视频| 91精品国产日韩欧美综合| 黑丝日韩av丝袜av| se吧提供91精品国产91久久久久久 | 久久久精品久久| 草草影院日本第一页| 久久久久久中文版| 人人看人人插| 美腿丝袜偷拍亚洲欧美| 内射老妇BBWX0C0CK| 黑人中出21连凳花野真衣| 亚洲国产精品无码AV久久| 超碰 97国产熟女| 五十路熟女人妻一区二区在线观看| 五月婷婷六月激情| 亚洲97超碰| 最新AVzaixian| 97在线免费观看视频| 五月天丁香欧洲日韩| 免费精品无码一级毛片牛牛影视| 情侣开房子拍 日韩无码 女的很漂亮| 久草免费在线视频| 奸色色 男人天堂 天天射| 成年无码动漫av片无尽在线 | 欧美成不卡网| 亚洲人成网站7777| 校园春色综合色| 精品九九国产无码| 试看60秒| 丁香婷婷啪啪| 啊啊啊想要| 9999伦理视频| 国产精品麻豆视频网站| 粉嫩久久久极品| 噜噜噜狠狠色综合| 98久久| 国产农村妇女精品一二区| 久久日韩精品一区二区| 欧美影音在线| 欧洲熟妇xxXx欧美老妇裸体 | 日本欧美国内在线| 天天综合~91| 日日黄色三级网站| 成人免费福利网站国产| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区 | 黑人性欧美| 丝袜夫妻自拍| 久久黄色性爱视频| 少妇高潮九九九九九九九| 激情五月婷婷| 国产一区二区在线播放量| 日韩精品系列| 男人天堂2019亚洲| 精品无码久久久久久国产浪潮| 天天天操天天天爱| 91neishe| 国产精品亚洲高清在线| 久久老熟女| 99综合自拍| 日本午夜精品理论片A级APP发布| 亚洲不雅视频1区二区| 欧色综合| 美女自卫慰黄网站免费| 男女啪啪网站免费视频| 超碰欧美在线欧美| 日本三级韩国三级99| 操逼视频色| 欧美精品激情| 性爱AV天堂| 91美女中出| 韩日性爱av| 午夜αv| 丝袜狠狠草尤物 91| 天天综合AV| 欧美劲爆视频一区二区| 日本韩高清无砖码22o| 亚洲文学偷乱拍啪啪啪啪 | 亚洲无限观看| 日韩另类色图| 逼逼逼逼操操操操操操操操操午夜剧场| 日韩在线电影| 骚人妻少妇视频| 亚洲熟妇图片| 久久久97| 欧美天天干| 国产老太乱伦一区| 国内外毛片在线观看| 亚洲91网。| 国产在线能看的你懂的| 这里都是精品在线观看| 9999久久久久| 97天天综合网| 亚洲影视高清三级-草1024榴社区入口-品爱AV| 亚州伊人色综台| 国产亚洲精品无码三区| 中国熟妇| 天天天堂影视日韩亚洲91| 精品久一区免费| 91操碰| 免费看A片毛毛片在线播| aaa亚无码专区| 清纯唯美综合| 激情四射婷婷六月天| 玖玖资源中文字幕制服丝袜| 老女人爆菊| 激情五月天色播| 国产懂色精品国产av| 91丨豆花丨熟女| 色综合av综合久久| 日本女人久久久| 久九九九九九九九热| 操逼无毒无码免费视频| 色 亚洲 91| 蜜桃精久三区| 少妇蜜汁| 人妻啊啊人妻啊啊| 色色色综合网| 欧美婷婷五月天| 人人操人人摸人| 国产日韩欧美亚洲精品95 | 999综合网| 久久精品无码一区二区三区| 男人天堂无码| 久久人体一区二区| 欧洲精品久久| 干B| 日韩精品三级片长长久久| 在线视频一区二区传媒| 天天综和| 国产一区二区三区不卡手机在线| 美女超碰978| 囯产精品一区二区三区线|亚洲人成无码网WWW动漫|国产精品免费一级... | 99re9这里只有精品| 少妇蜜汁| 毛片视频白嫩| 亚洲。日韩。欧美| 97国产精品国| 国产丝袜美女诱惑| 天天看综合网| 亚洲国产精品久久久久婷婷青年| 亚州宗合另类| 99热超碰| 日本九九久久99播| 日本加靬比网站发布页| 男人天堂久久日韩| 国模不卡一本二本三电影| 又摸又舔在线观看网站| 精品亚洲俞拍视频一区| 艳尻美人妻| 加勒比AV天堂| 亚洲诱惑天堂| 97chaopenrihan| 欧美黑人与女人91| 97碰久久| 亚洲欧美成人网站AAA| 色综合一本| 日本人妻中文字幕| 成年人黄色小视频网站| av日韩手机在线影视| 久久久久久精品免费看A级| 国内毛片国产专区二| 超碰人人干| 大香蕉男女超碰精品在线| 精品久久在线区一区| 久久綜合很很很| 国产精品在线一区二区| 全国男人天堂网| 亚洲人妻久久| 日韩 国产 欧美自拍| 国产高清免费不卡av| 亚洲欧美精品福利在线| 农村妇女一级二级三级视频| 日韩乱码Av| 国产天天看| 我想要啊 啊 啊| 欧色网址| 操逼无码操逼| 中文字幕123| 久热这里| 75大香蕉| 中文字幕无码不卡啪啪| 97极品无码| 岛国在线免费视频| 亚洲精品成人激情在线| 超碰亚洲97| 欧美91久久久久| 97大色网| 欧美九九99久久精品| 婷婷五月天补不补| 亚洲欧美校园另类春色| 色五91| 伊色综合天堂色97| 久久极品一区二区| 中美日韩毛片| 欧美页片| 亚拍在线| 東南亚性呦成人伦理资源在线视频 | 亚欧美色| 日本性感人妻91| 精品人妻中文字幕4399| av天堂精品久久| 欧美三级一级| 热久久九九热| 亚洲校园激情| 国产熟女精品一区二区| 日韩福利综合一区| 国产综合网站在线播放| 日韩在线国产字幕| 人人澡人人弄| 中文字幕在线第二页| 性91| 日韩激情小说一区二区| 精品一区二区成人动漫| 国产日韩精品一区二区三区| 国产成人天堂| 超碰人妻久久| 日韩一性一交一A片俄罗斯| 久久婷婷五月综合| 日本男人插女人的逼黄色| 老熟女阿 国产91| 欧亚性爱在线视频| 丁香五月婷婷基地| 精品人妻一区二区三区夜夜| 欧美综合色| 日韩国产不卡在线视频| 91美女中出| 精品少妇人妻一区二区三区| 97在线视频免费观看| 久久草在线综合视频| 九九九九九九成人| 国产操逼网站亚洲一级黄色| 欧美疯狂做爰xxxx| 欧美在线中M| 欧美18 在线观看| 狼人综合婷婷激情四射| 一二区在线观看视频| 精品久久久久久中文| 国产在线精品电影观看| 99无码| 亚洲综合色网| 色欧美在线| 2024人人操人人摸| 2020中文字幕在线| 啪啪资源网| 99精品丰满人妻无码| 欧美黑人精品在线播放| surenchaopeng| 日韩性爱视频在线免费观看| 天天综合网久久ww| 欧美一级美片在线观看免费| 极品五月天噜噜| av网站免费看| 日韩在线视频1234| 一区二区中文| 欧美少妇大量自拍视频在线观看| 男人天堂网站|