免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

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

VTK 9.3.1 + Qt 5.15.2 + VS2019 編譯實(shí)戰(zhàn):從SDK構(gòu)建到部署指南

VTK 9.3.1 + Qt 5.15.2 + VS2019 編譯實(shí)戰(zhàn):從SDK構(gòu)建到部署指南 簡(jiǎn)介面向需要在VS2019與Qt5.15.2環(huán)境下開(kāi)展三維可視化開(kāi)發(fā)的C工程師這款VTK 9.3.1預(yù)編譯SDK包可直接集成到x64工程省去從源碼編譯VTK的復(fù)雜配置過(guò)程。包內(nèi)同時(shí)提供Debug與Release兩種構(gòu)建結(jié)果兼顧調(diào)試排查與最終發(fā)布需求適合醫(yī)學(xué)成像、科學(xué)計(jì)算可視化及三維交互應(yīng)用等場(chǎng)景的中高級(jí)開(kāi)發(fā)者快速搭建開(kāi)發(fā)環(huán)境。壓縮包共2000個(gè)文件以1944個(gè)h頭文件和56個(gè)hpp頭文件為主涵蓋VTK核心模塊、渲染管線及HDF5等依賴庫(kù)接口整體大小約120.06MB目錄結(jié)構(gòu)清晰便于按模塊檢索引用。目前已有437人學(xué)習(xí)下載還附帶了對(duì)應(yīng)編譯過(guò)程博客可幫助讀者理解構(gòu)建細(xì)節(jié)并在必要時(shí)自行定制。相比手動(dòng)編譯該資源能明顯縮短環(huán)境準(zhǔn)備時(shí)間讓開(kāi)發(fā)者將精力集中在渲染算法與業(yè)務(wù)功能實(shí)現(xiàn)上頭文件內(nèi)容覆蓋常用可視化流程可作為項(xiàng)目模板直接參與鏈接與編譯降低上手門(mén)檻。1. 為什么要親自編譯一份 VTK 9.3.1 VS2019 Qt 5.15.2 的 SDK 包“最新版本 VTK 9.3.1 VS2019 Qt 5.15.2 編譯 SDK 包包含 x64 位下的 debugrelease 編輯結(jié)果”這句話準(zhǔn)確說(shuō)指的是編譯結(jié)果。很多團(tuán)隊(duì)在醫(yī)學(xué)影像、工業(yè)仿真、三維測(cè)量這類桌面軟件里都需要在 Qt 窗口中嵌入 VTK 的渲染視口而 VTK 官方并不提供面向 Qt 的 Windows 預(yù)編譯 C 庫(kù)。要拿到能在自己的軟件里 findViewById、setRenderWindow 的庫(kù)文件唯一可靠路徑是用 VS2019 配著 Qt 5.15.2 的 msvc2019_64 把 VTK 9.3.1 源碼完整編一遍然后再把 debug/release 兩套產(chǎn)物整理成 SDK 分發(fā)。這個(gè)過(guò)程搜索一下能看到大量帖子但能一次編通的人不多問(wèn)題多出在 Qt 版本匹配、模塊開(kāi)關(guān)和 DLL 部署上。2. VTK 9.3 綁上 Qt 5.15.2這套組合的底層邏輯和選型理由2.1 VTK 9.x 模塊化之后的 Qt 集成方式VTK 從 9.0 開(kāi)始做了非常大的工程結(jié)構(gòu)調(diào)整到了 9.3.1 依然延續(xù)這套模塊化體系。老教程里常見(jiàn)的VTK_QT、QVTKWidget、vtkRenderWindowInteractor直接手動(dòng) new 的寫(xiě)法在 9.x 下已經(jīng)不能照搬。9.x 把 Qt 支持拆成了獨(dú)立模塊最核心的是GUISupportQt它負(fù)責(zé)讓 VTK 的渲染窗口能和 QWidget 體系互相通信另外還有RenderingQt提供一些基于 Qt 的輔助渲染類。模塊化帶來(lái)的直接變化是 CMake 配置粒度變了。以前編譯 VTK 常常是“一把梭”把所有功能都編進(jìn)去9.x 之后官方更推薦按需開(kāi)啟模塊。面向 Qt 的開(kāi)發(fā)核心是打開(kāi)GUISupportQt它內(nèi)部會(huì)去找 Qt5 的 Widgets、Gui、OpenGL 等組件并且要求 Qt 的版本、位數(shù)、編譯器必須和 VTK 編譯時(shí)完全一致。這一點(diǎn)也正是很多人編譯失敗的第一現(xiàn)場(chǎng)Qt 裝了好幾個(gè)版本CMake 找到的是 Qt6 或者 32 位的 Qt5最后 MOC 報(bào)錯(cuò)或者鏈接器找不到符號(hào)。另外一個(gè)容易被忽略的是VTK_MODULE_INIT這套模塊初始化機(jī)制。老版本 VTK 在程序啟動(dòng)時(shí)靠vtkAutoInit.h里的宏把渲染后端注冊(cè)進(jìn)去9.x 下如果通過(guò) CMake 的 target 鏈接方式使用 VTK構(gòu)建系統(tǒng)會(huì)自動(dòng)生成模塊初始化代碼但如果你的工程像很多老博客那樣直接 link 整個(gè)vtk.lib往往需要手動(dòng)加VTK_MODULE_INIT(vtkRenderingOpenGL2)否則運(yùn)行時(shí)會(huì)提示“no override found for vtkRenderWindow”。這就是為什么同樣一份 SDK有人拿回去能跑有人拿回去就報(bào)錯(cuò)。2.2 Qt 5.15.2 與 MSVC v142ABI、庫(kù)后綴和選擇理由Qt 5.15.2 是 Qt 官方最后一個(gè)對(duì) VS2019 提供完整預(yù)編譯支持的 LTS 版本官方安裝包里對(duì)應(yīng)的就是msvc2019_64這個(gè)目錄。微軟在 VS2019 里的 C 工具集叫 MSVC v142Qt 5.15.2 的 Windows 預(yù)編譯庫(kù)就是用 v142 編的所以兩者 ABI 天然匹配。如果非要用 Qt 6.xVTK 9.3 也不是不能編但 Qt 6 在 OpenGL 窗口、平臺(tái)插件上的改動(dòng)明顯更大調(diào)試成本高沒(méi)有非換不可的理由。這里有一個(gè)很關(guān)鍵的點(diǎn)Windows 上的 Qt 庫(kù)有兩種命名release 版叫Qt5Core.dll、Qt5Widgets.dlldebug 版叫Qt5Cored.dll、Qt5Widgetsd.dll帶不帶d后綴是區(qū)分調(diào)試版和發(fā)布版最直接的手段。VTK 的 debug 版 DLL 同樣會(huì)用d后綴區(qū)分比如vtkCommonCore-9.3d.dll。這意味著 SDK 里的 debug 和 release 產(chǎn)物絕不能混著用一旦程序同時(shí)加載了 release 的 Qt5Core.dll 和 debug 的 vtkCommonCore-9.3d.dll輕則啟動(dòng)崩潰重則出現(xiàn)內(nèi)存被寫(xiě)壞的隨機(jī)錯(cuò)誤而且這種錯(cuò)誤極難排查。CMAKE_PREFIX_PATH這個(gè)變量在整個(gè)編譯里的作用就是告訴 CMake“去哪里找 Qt”。我一般會(huì)把它精確指到C:/Qt/5.15.2/msvc2019_64而不是指到C:/Qt/5.15.2。兩者的區(qū)別在于指到總目錄時(shí)CMake 有可能找到同層級(jí)里的 MinGW 版本或者 32 位版本指到msvc2019_64則從根本上鎖定了編譯器和位數(shù)。VS2019 的安裝教程和產(chǎn)品密鑰問(wèn)題不屬于本文范圍但有一點(diǎn)值得提醒如果是全新機(jī)器VS2019 必須勾選“使用 C 的桌面開(kāi)發(fā)”工作負(fù)載并安裝 Windows 10 SDK 組件否則 CMake 在配置階段會(huì)因?yàn)槿鄙賅indows Kits報(bào)錯(cuò)。2.3 需要提前檢查的 CMake 變量與 Qt 組件完整度編譯之前先確認(rèn) Qt 安裝目錄下的 CMake 配置文件是不是齊全。打開(kāi)命令行執(zhí)行dir C:\Qt\5.15.2\msvc2019_64\lib\cmake如果這個(gè)目錄里能看到Qt5、Qt5Core、Qt5Gui、Qt5Widgets、Qt5OpenGL這些子目錄說(shuō)明 Qt 的 CMake 支持文件沒(méi)問(wèn)題。只有 Qt 的二進(jìn)制庫(kù)而沒(méi)有 CMake 配置文件VTK 的 CMake 階段是找不到 Qt5 的。常見(jiàn)于只拷貝了別人的 Qt 目錄、沒(méi)有用官方安裝器裝的情況。我習(xí)慣把下面幾個(gè)變量單獨(dú)寫(xiě)在一個(gè)文本文件里方便換機(jī)器時(shí)保持一致CMake 變量推薦值作用VTK_QT_VERSION5強(qiáng)制 VTK 找 Qt5避免誤選 Qt6VTK_GROUP_QTON打開(kāi) VTK 的 Qt 相關(guān)模塊組VTK_MODULE_ENABLE_VTK_GUISupportQtYES顯式啟用 Qt 支持模塊找不到 Qt 時(shí)直接報(bào)錯(cuò)而不是跳過(guò)VTK_RENDERING_BACKENDOpenGL29.x 的默認(rèn)渲染后端是 OpenGL2一般不亂動(dòng)VTK_BUILD_TESTINGOFF關(guān)掉 VTK 自帶測(cè)試大幅縮短編譯時(shí)間VTK_WRAP_PYTHONOFF不需要 Python 接口時(shí)關(guān)閉減少不必要的 wrapper 生成BUILD_SHARED_LIBSON編出 DLL 形式的 SDK便于程序運(yùn)行時(shí)獨(dú)立更新其中VTK_MODULE_ENABLE_VTK_GUISupportQt的取值里YES表示“必須啟用找不到就報(bào)錯(cuò)”WANT表示“能找到就啟用找不到就算了”。第一次編強(qiáng)烈建議用YES這樣 Qt 環(huán)境有問(wèn)題會(huì)在 CMake 配置階段直接暴露出來(lái)而不是等編譯到一半才失敗。3. 用 VS2019 編譯出 x64 下的 Debug 和 Release 版本3.1 命令行觸發(fā) CMake最小配置命令與逐項(xiàng)說(shuō)明VTK 9.3.1 拿到源碼之后我一般不用 CMake GUI因?yàn)?GUI 的緩存容易殘留舊變量。用命令行配置更可控而且能把這套命令直接寫(xiě)進(jìn)團(tuán)隊(duì)文檔。下面是 Windows 下 cmd 可用的完整配置命令cmake -S D:/vtk-9.3.1 -B D:/vtk-9.3.1-build ^ -G Visual Studio 16 2019 -A x64 ^ -DCMAKE_PREFIX_PATHC:/Qt/5.15.2/msvc2019_64 ^ -DVTK_QT_VERSION5 ^ -DVTK_GROUP_QTON ^ -DVTK_MODULE_ENABLE_VTK_GUISupportQtYES ^ -DVTK_RENDERING_BACKENDOpenGL2 ^ -DVTK_BUILD_TESTINGOFF ^ -DVTK_WRAP_PYTHONOFF ^ -DBUILD_SHARED_LIBSON這里用的是 cmd 的^續(xù)行符Linux shell 習(xí)慣的\在 Windows cmd 里不生效直接復(fù)制到命令行會(huì)報(bào)錯(cuò)。-G Visual Studio 16 2019的 16 是指 VS2019 的內(nèi)部版本號(hào)VS2022 對(duì)應(yīng) 17這個(gè)不能混。-A x64指定生成 64 位工程如果省略它CMake 默認(rèn)生成的是 Win32 工程后面編譯出的庫(kù)在 x64 程序里根本鏈接不上。CMAKE_PREFIX_PATH是這一堆參數(shù)里最需要檢查的。Qt 5.15.2 安裝后msvc2019_64目錄下的lib/cmake/Qt5才是 CMake 真正讀取的位置。配置完成后觀察輸出如果能看到類似Found Qt5: C:/Qt/5.15.2/msvc2019_64/lib/cmake/Qt5的字樣說(shuō)明 Qt 找到了。如果顯示Found Qt6那就是沒(méi)加-DVTK_QT_VERSION5或者緩存沒(méi)有清理干凈。配置成功后會(huì)生成VTK.sln這個(gè)解決方案里的項(xiàng)目數(shù)量視模塊開(kāi)關(guān)而定通常幾十個(gè)項(xiàng)目全部編譯需要較長(zhǎng)時(shí)間。3.2 在 VS2019 里分批構(gòu)建 Debug 和 Release用 VS2019 打開(kāi)D:/vtk-9.3.1-build/VTK.sln先把解決方案配置切到Debug平臺(tái)切到x64右鍵ALL_BUILD生成。這一步會(huì)按依賴順序把 VTK 的 Core、Rendering、Interaction、GUISupportQt 等模塊全部編成 DLL。完成后再切到Release重新生成一次。有人會(huì)在 CMake 階段用-DCMAKE_BUILD_TYPEDebug來(lái)編 debug這是 Linux Makefile 生成器的習(xí)慣在 VS 這種多配置生成器下是無(wú)效的CMAKE_BUILD_TYPE會(huì)被忽略。VS 生成器天然支持一臺(tái)機(jī)器上同時(shí)保留 Debug 和 Release 兩套產(chǎn)物它們分別輸出到bin/Debug和bin/Releaselib/Debug和lib/Release互不覆蓋。這也是為什么“包含 x64 位下的 debugrelease 編譯結(jié)果”這件事從工程結(jié)構(gòu)上就是成立的。編譯時(shí)不要一上來(lái)就并行拉滿。我第一次編的時(shí)候直接默認(rèn)值全開(kāi)結(jié)果 Debug 和 Release 同時(shí)在后臺(tái)跑CPU 滿載導(dǎo)致內(nèi)存不足其中一個(gè)模塊編譯進(jìn)程被系統(tǒng)殺掉事后還得清理中間文件重來(lái)。更穩(wěn)妥的做法是用 VS 的“批生成”功能先勾選ALL_BUILD的 Debug x64 生成完成后再單獨(dú)生成 Release x64。如果機(jī)器內(nèi)存只有 16G建議在 VS 的選項(xiàng)里把 MSBuild 的并行編譯數(shù)限制到 4 個(gè)進(jìn)程。3.3 確認(rèn)編譯產(chǎn)物齊全DLL、LIB、頭文件與 moc 文件編譯完成后檢查D:/vtk-9.3.1-build/bin/Debug和bin/Release兩個(gè)目錄。VTK 9.3.1 的 DLL 命名帶版本號(hào)比如vtkCommonCore-9.3.dll、vtkCommonDataModel-9.3.dll、vtkRenderingOpenGL2-9.3.dll、vtkGUISupportQt-9.3.dll。Debug 版會(huì)多一個(gè)d例如vtkGUISupportQt-9.3d.dll。如果 Debug 目錄里出現(xiàn)不帶d的vtkGUISupportQt-9.3.dll說(shuō)明 CMake 在配置時(shí)找到了 Qt 的 release 庫(kù)把 debug 和 release 的 Qt 路徑搞混了后面運(yùn)行階段大概率會(huì)出問(wèn)題。頭文件在D:/vtk-9.3.1-build/include/vtk-9.3下Qt 相關(guān)的是QVTKOpenGLNativeWidget.h、QVTKOpenGLWindow.h這幾個(gè)。這里注意9.3 里已經(jīng)看不到老版本的QVTKWidget.h了如果程序里 include 的還是它就是代碼沒(méi)有跟著 VTK 版本走。lib目錄下同樣區(qū)分上下兩個(gè)目錄Debug 下的.lib也帶d后綴。整個(gè) VTK 構(gòu)建目錄里真正可以對(duì)外分發(fā)的就是include、lib、bin這三個(gè)內(nèi)容加上必要的cmake配置文件。4. 整理 SDK 包目錄結(jié)構(gòu)、DLL 部署與 install 規(guī)則4.1 用 cmake --install 導(dǎo)出獨(dú)立的 Debug/Release SDK構(gòu)建目錄里的產(chǎn)物是給 VTK 自己用的直接拷貝也能用但目錄太亂而且bin下混著可執(zhí)行示例和測(cè)試程序。更干凈的做法是讓 CMake 的 install 規(guī)則來(lái)導(dǎo)出 SDK。在 VS2019 里對(duì)INSTALL項(xiàng)目生成或者用命令行cmake --install D:/vtk-9.3.1-build --config Debug --prefix D:/VTKSDK/vtk-9.3.1/debugcmake --install D:/vtk-9.3.1-build --config Release --prefix D:/VTKSDK/vtk-9.3.1/release兩條命令分別執(zhí)行得到兩個(gè)獨(dú)立目錄debug目錄里是帶d后綴的庫(kù)和 Debug 版 Qt 依賴release目錄里是干凈版本。這種分目錄結(jié)構(gòu)比把 debug 和 release 塞進(jìn)同一個(gè)bin下穩(wěn)妥得多因?yàn)樵?Windows 上同名 DLL 放在同一個(gè)目錄里時(shí)后拷貝的會(huì)覆蓋先拷貝的最后只剩一套文件配置信息全丟。install 之后debug/lib/cmake/vtk-9.3和release/lib/cmake/vtk-9.3下會(huì)有 VTK 的 CMake 配置文件這是后面供其他工程find_package(VTK)使用的核心。有人把 SDK 分發(fā)出去后發(fā)現(xiàn)對(duì)方find_package找不到多半是少了這個(gè) cmake 子目錄。4.2 把 Qt 5.15.2 的運(yùn)行庫(kù)一并納入部署計(jì)劃VTK 的 Qt 模塊只是一個(gè)“殼”運(yùn)行時(shí)仍然依賴 Qt5Core、Qt5Gui、Qt5Widgets、Qt5OpenGL 這些 Qt 本身的 DLL。SDK 包給別人的時(shí)候如果不帶 Qt對(duì)方機(jī)器要么配好系統(tǒng) PATH 指向 Qt 的msvc2019_64/bin要么就得用 windeployqt 把依賴打到程序目錄。我通常會(huì)在 SDK 的每個(gè)版本目錄里放一個(gè)runtime/文件夾里面是 Qt 的運(yùn)行時(shí)用 windeployqt 生成C:/Qt/5.15.2/msvc2019_64/bin/windeployqt.exe --release D:/VTKSDK/vtk-9.3.1/release/runtime/MyVTKApp.exewindeployqt 會(huì)掃描 exe 的導(dǎo)入表把 Qt5Core.dll、Qt5Gui.dll、Qt5Widgets.dll 以及platforms/qwindows.dll拷貝到指定目錄。注意--release和--debug必須和程序配置一致否則會(huì)把帶d后綴的 Qt DLL 打出來(lái)發(fā)布給客戶時(shí)會(huì)出現(xiàn)“在開(kāi)發(fā)者機(jī)器上能跑客戶機(jī)器上啟動(dòng)就閃退”的典型事故。SDK 里也可以不給 Qt 運(yùn)行時(shí)只在文檔里聲明“本 SDK 要求目標(biāo)機(jī)安裝 Qt 5.15.2 msvc2019_64并設(shè)置QT_PLUGIN_PATH到 Qt 的 plugins 目錄”。但按我的經(jīng)驗(yàn)把這個(gè)要求交給客戶去理解十有八九會(huì)出現(xiàn)平臺(tái)插件找不到的報(bào)錯(cuò)。寧可 SDK 體積大一點(diǎn)也要把運(yùn)行時(shí)一起帶齊。4.3 一個(gè)適合團(tuán)隊(duì)分發(fā)的 SDK 目錄約定整理好的 SDK 大概長(zhǎng)這樣D:/VTKSDK/vtk-9.3.1/ ├── debug/ │ ├── bin/ # 帶 d 后綴的 VTK DLL │ ├── lib/ # 帶 d 后綴的 LIB 和 cmake 配置 │ ├── include/ # vtk-9.3 頭文件 │ └── runtime/ # Qt debug 運(yùn)行時(shí) ├── release/ │ ├── bin/ │ ├── lib/ │ ├── include/ │ └── runtime/ └── README.mddebug 和 release 各帶一份include雖然內(nèi)容一樣但對(duì)使用方來(lái)說(shuō)最簡(jiǎn)單——不用在 CMake 里來(lái)回切換 include 路徑。lib里的cmake/vtk-9.3目錄保持 install 原樣不要手動(dòng)改動(dòng)里面的.cmake文件否則使用時(shí)會(huì)出現(xiàn)版本變量解析錯(cuò)誤。README 里只寫(xiě)三件事這個(gè)包是 VS2019 Qt 5.15.2 x64 編的debug 和 release 不能混用運(yùn)行時(shí)需要把對(duì)應(yīng)bin目錄加入 PATH 或用windeployqt部署。5. 避坑VTK 與 Qt 組合編譯里最容易翻車的五個(gè)環(huán)節(jié)5.1 CMake 找到 Qt6 導(dǎo)致 MOC 編譯失敗現(xiàn)象配置階段沒(méi)有報(bào)錯(cuò)編譯到 guisupportqt 相關(guān)項(xiàng)目時(shí)報(bào)unknown option --no-keyword或者一堆 MOC 類錯(cuò)誤查看 CMake 緩存發(fā)現(xiàn)Qt6_DIR被設(shè)置了。原因機(jī)器上同時(shí)裝了 Qt 5.15.2 和 Qt 6.xCMake 的find_package(Qt)在沒(méi)有顯式指定版本時(shí)優(yōu)先匹配了 Qt6而 VTK 的 QVTK 代碼是按 Qt5 接口寫(xiě)的。解決刪掉構(gòu)建目錄里的CMakeCache.txt重新配置并且在命令行里加上-DVTK_QT_VERSION5 -DQt5_DIRC:/Qt/5.15.2/msvc2019_64/lib/cmake/Qt5。不要怕刪緩存VTK 重新 configure 也就是幾分鐘的事比帶著臟緩存反復(fù)試要快。這條也適用于換 Qt 版本、換編譯器之后不重新配置就直接編譯的情況。5.2 Debug 版 VTK 鏈接到了 Qt 的 release 庫(kù)現(xiàn)象Release 跑得好好的Debug 版一進(jìn)入渲染就崩潰甚至在 QApplication 初始化階段就異常。用 dumpbin 查看依賴發(fā)現(xiàn) debug 的vtkGUISupportQt-9.3d.dll依賴的是Qt5Core.dll而不是Qt5Cored.dll。原因CMAKE_PREFIX_PATH指到了C:/Qt/5.15.2/msvc2019_64沒(méi)錯(cuò)但 Qt 的 debug 和 release.lib在同一個(gè)目錄下靠文件名后綴區(qū)分如果構(gòu)建緩存里殘留了之前指向 release 的 Qt 路徑或者配置時(shí)用了 32 位調(diào)試器啟動(dòng) CMake就會(huì)匹配錯(cuò)誤。解決重新配置前清理CMakeCache.txt和CMakeFiles目錄然后在CMakeCache.txt里確認(rèn)Qt5Core_DIR的路徑。更嚴(yán)格的做法是配置完成后打開(kāi)D:/vtk-9.3.1-build/CMakeCache.txt搜Qt5Core看實(shí)際指向。寧可慢一次不要等到程序崩潰再回頭查。5.3 Debug 和 Release 的 DLL 混在一個(gè)目錄現(xiàn)象程序能啟動(dòng)但運(yùn)行一段時(shí)間后隨機(jī)崩潰有時(shí)是渲染線程崩有時(shí)是退出時(shí)崩而且 Release 崩潰率低于 Debug很難穩(wěn)定復(fù)現(xiàn)。原因把 SDK 的 debug 和 release 兩個(gè)bin目錄都加進(jìn)了系統(tǒng) PATHWindows 加載 DLL 時(shí)按 PATH 順序找到同名文件就加載。vtkCommonCore-9.3d.dll和vtkCommonCore-9.3.dll雖然文件名不同但程序里如果同時(shí)用不同配置的模塊可能出現(xiàn)某個(gè)模塊先加載了 Qt5Core另一個(gè)模塊又要求 Qt5Cored兩邊對(duì)同一個(gè)全局狀態(tài)做不同處理內(nèi)存布局不一致。解決程序運(yùn)行目錄里只放當(dāng)前配置對(duì)應(yīng)的那一份 DLL。SDK 里 debug 和 release 分開(kāi)目錄的意義就在這里寧可程序員手動(dòng)切目錄也不要圖省事混著用。檢查時(shí)用dumpbin /dependents列出 exe 依賴的所有 DLL確認(rèn)全部來(lái)自同一配置。5.4 Qt 在線安裝器缺少模塊導(dǎo)致找不到 Qt5::OpenGL現(xiàn)象CMake 配置時(shí)報(bào)Could not find a package configuration file provided by Qt5OpenGL或者類似 Qt5Xml、Qt5Svg 找不到。原因Qt 5.15.2 的官方在線安裝器在默認(rèn)勾選項(xiàng)里組件并不是全部到位的尤其容易缺 OpenGL、Xml、Svg 這類“看起來(lái)用不上但 VTK 需要”的模塊。有明確熱搜提到“qt5.15.2在線安裝工具沒(méi)有webassembly模塊”這類組件缺失問(wèn)題和它是一類。解決打開(kāi) Qt 維護(hù)工具在“添加/移除組件”里找到 Qt 5.15.2 下的MSVC 2019 64-bit這一項(xiàng)展開(kāi)后把 Desktop 相關(guān)組件全部勾上重點(diǎn)檢查Qt 5.15.2 Additional Libraries和 Qt Debug Information Files。補(bǔ)裝完成后重新配置 VTK。如果不想補(bǔ)裝可以在 CMake 里把VTK_MODULE_ENABLE_VTK_GUISupportQt從YES改成WANT繞過(guò)但那樣編出來(lái)的 SDK 其實(shí)沒(méi)有 Qt 支持簡(jiǎn)化為不啟用 Qt 的渲染庫(kù)使用價(jià)值大打折扣。5.5 ALL_BUILD 編譯時(shí)間過(guò)長(zhǎng)、內(nèi)存不足導(dǎo)致中途被殺現(xiàn)象編譯到一半某個(gè) vtk 模塊的 cl.exe 進(jìn)程被系統(tǒng)強(qiáng)制結(jié)束重新編譯又從頭開(kāi)始。整體耗時(shí)動(dòng)輒一兩個(gè)小時(shí)機(jī)器風(fēng)扇狂轉(zhuǎn)。原因VTK_BUILD_TESTING在配置時(shí)是ONVTK 自帶的測(cè)試、示例、第三方 demo 全被編了。另一個(gè)因素是 MSBuild 默認(rèn)并行度過(guò)高Debug 和 Release 同時(shí)構(gòu)建時(shí)內(nèi)存峰值非常高。網(wǎng)上搜“grpc 在 windows 下 visual studio 編譯”這類問(wèn)題時(shí)踩的坑也是同一類VS 下并行編譯的資源峰值遠(yuǎn)超預(yù)期。解決配置階段把VTK_BUILD_TESTINGOFFVTK_BUILD_EXAMPLESOFF也順手關(guān)掉。編譯時(shí)一次只編一個(gè)配置在 VS 的選項(xiàng)里把最大并行項(xiàng)目數(shù)改成 4。編完后只保留vtkCommon*、vtkRendering*、vtkInteraction*、vtkGUISupportQt*等必要模塊的產(chǎn)物把vtkTesting*之類全部清掉。另外注意鏈接階段偶爾出現(xiàn)的cannot find -lpublic這類問(wèn)題在 VS 下通常不會(huì)出現(xiàn)它更像 MinGW 鏈路的報(bào)錯(cuò)VS 下缺依賴時(shí)更多表現(xiàn)為L(zhǎng)NK2019 無(wú)法解析的外部符號(hào)看到這個(gè)先檢查是不是某些模塊被關(guān)掉了但代碼還在用。6. 用自編譯 SDK 回接工程最小驗(yàn)證程序與 DLL 體檢6.1 寫(xiě)進(jìn) CMakeLists.txtfind_package 與 VTK:: 目標(biāo)鏈接SDK 能不能用最終要在一個(gè)新工程里驗(yàn)證。新建一個(gè)文件夾寫(xiě)一個(gè)最精簡(jiǎn)的 CMakeListscmake_minimum_required(VERSION 3.16) project(vtk9_sdktest) set(CMAKE_PREFIX_PATH D:/VTKSDK/vtk-9.3.1/release C:/Qt/5.15.2/msvc2019_64 ) find_package(VTK 9.3.1 CONFIG REQUIRED) find_package(Qt5 5.15 REQUIRED COMPONENTS Widgets) add_executable(TestVTK main.cpp) target_link_libraries(TestVTK PRIVATE VTK::GUISupportQt VTK::RenderingOpenGL2 VTK::RenderingContextOpenGL2 )find_package(VTK 9.3.1 CONFIG REQUIRED)讀的是 SDK 里lib/cmake/vtk-9.3下的配置文件VTK::GUISupportQt這種 target 鏈接方式會(huì)在編譯期自動(dòng)帶上vtkGUISupportQt-9.3.lib并且把include/vtk-9.3頭文件路徑加到工程里。老教程里常見(jiàn)的是直接把VTK_LIBRARIES變量填進(jìn) target_link_libraries9.3 下仍能工作但 target 方式更清晰少了漏模塊的問(wèn)題。6.2 main.cpp一個(gè)畫(huà)出圓柱體的最小 Qt 程序#include QApplication #include QMainWindow #include QVTKOpenGLNativeWidget.h #include vtkActor.h #include vtkAutoInit.h #include vtkCylinderSource.h #include vtkGenericOpenGLRenderWindow.h #include vtkPolyDataMapper.h #include vtkRenderer.h #include vtkSmartPointer.h VTK_MODULE_INIT(vtkRenderingOpenGL2); VTK_MODULE_INIT(vtkInteractionStyle); int main(int argc, char** argv) { QApplication app(argc, argv); auto renderer vtkSmartPointervtkRenderer::New(); auto cylinder vtkSmartPointervtkCylinderSource::New(); auto mapper vtkSmartPointervtkPolyDataMapper::New(); auto actor vtkSmartPointervtkActor::New(); mapper-SetInputConnection(cylinder-GetOutputPort()); actor-SetMapper(mapper); renderer-AddActor(actor); renderer-ResetCamera(); auto renderWindow vtkSmartPointervtkGenericOpenGLRenderWindow::New(); renderWindow-AddRenderer(renderer); QVTKOpenGLNativeWidget widget; widget.setRenderWindow(renderWindow); widget.resize(800, 600); QMainWindow window; window.setCentralWidget(widget); window.resize(800, 600); window.show(); return app.exec(); }widget.setRenderWindow(renderWindow)是 9.x 之后的核心接口它接受一個(gè)vtkRenderWindow指針把 VTK 的渲染結(jié)果繪制到 QOpenGLWidget 的顏色緩沖上。VTK_MODULE_INIT兩個(gè)宏負(fù)責(zé)注冊(cè) OpenGL2 渲染后端和交互樣式?jīng)]有它們運(yùn)行時(shí)可能出現(xiàn)“no override found”的警告鼠標(biāo)旋轉(zhuǎn)交互也失效。編譯運(yùn)行后看到窗口里出現(xiàn)一個(gè)可旋轉(zhuǎn)的圓柱體說(shuō)明 SDK 的頭文件、庫(kù)文件、DLL 依賴三條鏈路全部打通。6.3 驗(yàn)證 DLL 依賴是否全部來(lái)自同一套 SDK程序能跑只是第一步還得確認(rèn)加載的 DLL 沒(méi)有混用。用 dumpbin 檢查 exedumpbin /dependents D:/vtk9_sdktest/build/Release/TestVTK.exe看輸出里的vtkCommonCore-9.3.dll是否來(lái)自D:/VTKSDK/vtk-9.3.1/release/binQt5Core.dll是否來(lái)自C:/Qt/5.15.2/msvc2019_64/bin。Debug 版則對(duì)應(yīng)檢查帶d后綴的 DLL 是否齊全。這一步能提前發(fā)現(xiàn)路徑串位、配置混用的問(wèn)題比等到客戶報(bào)錯(cuò)再排查要省事得多。這套 SDK 目錄約定和驗(yàn)證流程我前后帶過(guò)三個(gè)團(tuán)隊(duì)落地最大的教訓(xùn)是不要相信“編一次通了一切都好了”的直覺(jué)DLL 部署是 Windows 三維應(yīng)用里另一個(gè)黑匣子。每次換機(jī)器、換 Qt 版本、換 VS 版本后老老實(shí)實(shí)跑一遍 dumpbin幾分鐘就能避免上線后搜問(wèn)題搜到半夜。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
EEUSS鲁片一区二区三区| 综合玖玖偷拍| 婷婷狠狠操| 国产精品久久..4399| 国产精品涩涩涩视频网站| 人人爽欧美婷婷久久久五月丁香| 免费国产VA国产免费| 狠狠色综合图片| 亚洲第一成人无码A片| 99re这里有精品手机在线| 91综合国免费久入| 日本天堂爱爱| 4399高清无码视频| 人操91在线| 色婷婷丁香A片区毛片区女人区| 色无码| 久久这里只有精品网| 91日日日| 五月婷婷色啪| 五月天啪啪视频| 伊人在线婷婷草| 98色花堂98t.R| 色欧美色色色| 国产精品久久久久久亚洲毛片| 大香蕉中文| 狠狠搞亚洲| 狠狠久久婷五月综合色| 精品久久人妻热| 色九月婷婷综合| 热九九九九| 在线看的免费网站| 欧美婷婷色| www99热| 99久久这里只有精品| 丁香五月骚喷水视频| 综合久久影院| 六月婷婷激情| 91丨九色丨熟女高潮| 夜夜干夜夜操| 五月婷婷久久综合| 色色五月天婷婷| 久9久9热久热| 影音先锋女人AA鲁色资源| 五月丁香六月婷| 婷婷五月天激情电影小说| 手机AVAV天堂看网| 五月婷婷九月婷婷九月婷婷| 五月激情综合深爱| 激情五月天小说| 91久久婷婷人人澡草 | 色情婷婷。| 丁香婷婷老司机久操| 欧美性生交XXXXX无码小说 | 狠狠狠色激情综合适合| 天天爱综合网| 成人亚洲精品| 狠狠色噜噜狠狠| 91婷婷五月天综合视频| 激情婷婷五月基地| 天天日天天色| 97碰在线| 99精品偷自拍| 婷婷9月天| 99燥99日| 久热婷婷在线视频| 99色色爰| 97色伦另类图片小说视频| site:esunnet.com| 激情内射p| 99热66| 丁香婷婷成人网站| 99精品综合视频| 成人午夜无码视频| 久久亭亭电影| 青青草色在线视频观看| 亚洲视频丁香网va| 九九久久精品| 日在线V视频在线播放| 97超碰9久热婷婷热| 国产伊人五月天| 九九热这里| www,久久久| 99视频精品在线| 99热这里是精品| 无码AV免费精品一区二区三区| 风流少妇A片一区二区蜜桃| 激情又色又爽又黄的A片| 五月天丁香婷婷久久九| 九九色图| 91丨九色丨东北熟女| 香蕉97碰碰碰欧美| 狠狠色噜噜狠狠狠狠综合| 色综合久久天天综合网| 五月丁香婷婷中文网| 日本不卡中文字幕| 色五月视频无码播放| 狠狠色丁香久久婷婷综合五月| 九九婷婷网五月天| 91精品久久久久久77777| 一本色道久久88综合日韩精品| 国产精品VIDEOSSEX久久发布| 激情五月婷婷综合视频| enecarbon-materials.comWu染请涟系Bao护@wip1688 | 天天干电影| 9久久婷婷国产综合精品性色| 人人爽天天爽| 亚洲AV无码一区二| 五月天精品综合在线| 五月天色五月| 老妇六区| www.久久99| 五月丁香色婷婷基地| 热久精品| 天天揷综合网| 丁香六月婷婷缴情欧美| 91日日日| 99ri国产精品| 五月丁香婷中文字幕| 五月婷婷xxx| 欧美S码亚洲码精品M码| 91色综合网| 啪啪干伊人婷婷| 久久婷婷人人| 五月丁香久久婷| 五月丁香婷婷爱激情综合网| 亚洲色另类| 91碰碰| 激情网色五月| 色色欧美色色| 日产精品一线二线三线芒果| 久久这里只有精彩| 五月丁香精品| 中文字幕黄色电影网址| 五月天激情网页| 色婷婷久久| 超碰成人黄色网| 久热这里| 天堂网操| 天天影视色综合网| 香蕉久久国产AV一区二区| 色噜久| 99精品无码网站| 啊V视频在线观看| 亚洲精级| 色噜噜婷婷| 激情五月色婷婷| 99热高清在线| 丁香美女五月天婷婷| 最近中文字幕在线中文视频| 久久视这里只有精品| 操日视频| 丁香五月婷婷Av| 五月丁香婷婷三级| 久久香视频| 色五月成人在线| 亚洲第一综合| 开心日韩丁香婷婷五月| 97亚洲视频在线| 都市激情蜜桃婷婷五月天| 99ri精品在线| 91婷婷色五月| 大香蕉手机视频| 97热久久| 久久婷婷亚洲| 亭亭五月丁香综合欧美| 狠狠狠狠狠干| 日本五月婷婷久久久六月丁香| 天干夜夜操| 亚洲在线操| 综合XX网| 99在线69| 99热66| 91九色网| 任你爽视频| 99热99ai| 久久久国产精品黄毛片| 中文字幕色色| 六月撸婷婷| 亚州操操| 天天做天天爱天天摸| 另类天堂| 欧美性爱特黄一级aaaassss| 色级婷婷| 黄色五月婷婷| 五月天天丁香婷婷在线中| 五月婷激情| 色情五月天小说| 欧美色五月| 很很操96| 久热A片| 丁香五月天AV在线 | 激情网五月婷婷| 噢美99| 另类综合婷婷五月天欧美视频| 色婷婷久久综合| 1024操逼| 色欲操| 丁香五月婷婷啪啪| 五月丁香六月婷婷亚洲视频| 六月婷久久| 99九九久久| 婷婷开心深爱五月天| 五月天激情综合网| 婷婷五月图片小说网| 色婷婷最新域名 | 超pen个人视频97| 欧美97p| 成人精品免费在线观看| 丁香婷婷大香蕉| 天天综合亚洲综合网天天αⅴ| 91精品久久久久久77777| 天天做综合| 人人摸人人摸| 开心五月激情五月丁香五月婷婷| 九九99在线视频| 日本乱论99| 五月婷婷婷| 五月天久久网站| 91色久| 五月激情婷婷图片基地| 夜色爱爱亚洲| 天天日日夜夜| 色色色色色网| 天天色爽| 久久久久久久8| av大香蕉| WWW,五月| 色综合综合网| 色,激情五月天| 九九精品大香蕉| 久久99热在线观看| 日韩色五月| 亚洲人妻一区二区 | 国产人妻777人伦精品HD| 色五月婷婷很很操| 五月综亚洲| 激情性爱网站| 色婷婷激情Av久久久| 五月婷婷影| www.狠狠操| 99热综合| 天天夜夜爽| 婷婷性爱网| 美女婷婷激情亚洲| 99re6久热只有精品6在线直播| 激情 婷婷 丁香五月天| 亚洲综合激情五月久久| 狠狠爱丁香婷| 五月丁香激情欧洲啪啪| 99人妻碰碰碰久久久久| 亚洲日韩乱码一区二区三区四区 | 天天狠天天狠| 婷婷五月花| 五月婷婷开心网| 第四色五月激情网| 草草视频91| www.久操| 男女激情久久| 97在线99| 禁欲电影完整版在线播放| 久久婷婷亚洲| 激情五月五月婷婷| 五月丁香激情婷婷| 婷婷五月天激情综合网| 日逼免费视频| 天插天啪天啪天啪| 国产探花AV在线| 色情五月丁香| 日本久久婷| 亚洲成人AV在线| 超碰人妻公开在线| 精品亚洲国产成AV人片传媒| 午夜不卡久久精品无码免费| 五月丁香六月激情综合| 婷婷五月天深爱| 日韩成人av在线| 激情宗合 激情宗合| 这里只有精品96| 色区久久| 色五月激情网| 麻豆AV一区二区三区| 天天干天天插| 九九色逼| 无码日本精品XXXXXXXXX | 99热免| 2020日日干| 五月婷婷在线免费观看| 五月天综合| 91成人性爱视频| 天天操夜夜爱| 久久丁香久久| 婷婷五月天视频亚洲| 色情五月停停丁香| 伊人激情影院| 狠狠色噜噜狠狠狠狠综合| 色五月婷婷五月| 天天爽天天摸天天爱| 婷婷情色激情| 少妇搡BBBB搡BBB搡毛茸茸 | 亚洲中文字幕av| 在线视频你懂得| 亚洲九区| 最近韩国日本免费高清观看| 精品人妻一区二区三区在| 99在线精品免费视频| 99久久国产宗和精品1上映| 国产成人精品一区二三区熟女在线| 开心激情网在线| 91狠狠色丁香婷婷综合久久| 婷婷久久大香蕉| 亚洲激情另类| 亚韩精品视频1区| 天堂二区| 99九九精品视频| www久久99| 婷婷五月天成人导航| 久久视频66| 丁香五月激情欧欧美| 狠狠五月丁香色婷| 婷婷六月激情| 色播播五月天| 国产在线网址1| 婷婷色色欧美| 99精品热视频只有精品10| 三区激情四射av| 六月婷婷色宗合| 99精品视频网站| 久久电影4399| 国产肥白大熟妇BBBB视频| 91热视频| 97香蕉碰碰人妻国产欧美| 99热网站| 亚洲婷婷久久综合| 婷婷激情四射| 婷婷五月天伊人网| 深爱婷婷色| 欧美久久婷婷| 成人五月天丁香婷| 五月花婷婷| 婷婷五月精品| 66精品国产成人| 这里只有国产精品在线| 婷婷五月综合社区| ztEJj| www.婷婷久久五月天| 色色永久| 亚洲丁香花五月丁香花| caobi四区| 国产婷婷五月天| 天天干天天操天天射| 激情小说五月天| 婷婷丁香红五月91C| 久久天堂婷婷五月| 91热er| 婷婷99狠狠躁| 一本大道嫩草AV无码专区| 九九这里都是精品| 99热精品一区| 丁香五月婷婷深爱综合激情 | 99视频只有精品| 丰满人妻一区二区三区| 99热全是精品| 五月天婷婷深深爱| 99热66| 日韩啪啪自拍| 婷婷丁香五月激情中文字幕版| 激情五月丁香亭亭| 婷婷综合性爱网| 久久久久久久97| 青青草原99热| 亚洲成av人影院| 综合激情五月婷婷| 五月婷婷在线免费| 碰碰人人人| 91欧美| 激情综合激情综合| 丁香五月伊人| 四色女婷婷| 丁香五月天堂网| 日韩久操婷婷| 五月天色视频| 99久久户外勾搭| 啪啪一区| 国产欧美第五十五页| 91聚色综合网| 亚洲综合色丁香婷婷六月| 五月婷网| 免费婷婷| 热五月婷婷| 97性高潮久久久| 桔色成人官方网站| 六月丁香啪啪啪| 色婷五月天| 中文成人在线| 99亚洲精美视频在线观看| 五月激情婷婷开心| 九一娱乐在线观看视频| 人妻精品久久久久久久| 婷婷碰碰| 五月开心深爱激情网| 99re热视频这里只精品| 五月丁香婷婷婷婷综合网| 99激情| 婷婷色网| www.夜夜| 九九视频这里是精品五月| 激情综合五月| 五月丁香六月色婷婷综合五月天| 色情婷婷| 六月婷婷成人| 久久在线视频免费观看| 五月天婷婷伊人| 欧美交换配乱吟粗大25P| 人妻狠狠操| 狠狠操狠狠爱| 激情小说五月丁香在线视频观看视频| 丁香五月久久| 色五月婷婷、老熟女| 日本色婷婷| 婷婷色播色五月五色五月天色妇| 五月丁香色综合| 丁香五月网络网络| 欧美午夜乱妇午夜福利| 五月丁香无码视频| 2022人人操人人看| 婷婷无码视频| 婷婷激情五月天综合| 色婷婷亚洲婷婷| 欧美群妇大交乱婬网| 激情五月天色色网| 五月激情婷婷播播网| 九九婷婷五月天| 亚州性爱99| 激情婷婷99| 日日操夜夜爽| 99热乎| 婷婷爱五月| 欧美Va在线| 亚洲图片 丁香婷婷| 丁香五月天在线观看视频| 另类视频在线| av在线中文| 五月丁香六月激情综合| 狠狠色丁香99| 涩婷婷视频快播人妻| 婷婷在线激情| 婷婷五月中文在线| 九九99精品视品| 丁香婷婷影院| 久久草人妻| 爱99干99| 庭庭久久内射| 开心五月丁香啪| 丁香五月婷婷欧美成人色图| 五月丁香啪啪网| 色综合天天网| 亚洲在线视频321| av大香蕉| 一级操逼内射在线视频| 五月丁香福利| 欧美97超碰| 91婷婷色| 五月婷婷在线网站| 日本久久超碰| 9久热精品在线视频| 六月婷婷开心| Av性爱网站| 婷婷丁香六月天激情四射网| 久久xxxx| 玖玖资源站蜜臀| 五月丁香婷婷中文| 99欧美精品99日本精品| 五月丁香六月激情欧美综合| 婷婷干五月综合在线播放| 九九热啪啪| 中文字幕免费高清电视剧| 亚洲va国产va天堂va综合va| 成人视频九九| 狼人婷婷综合| 岛囯综合激情网| 婷婷五月天成人| wwwwww.色| 99啪啪| 久久婷婷一级片| 久九色| 免费播放99性爱视频| 99激情网| 五月婷婷亚洲色图| 日韩限制级大尺度黑料泄密大尺度视频一区二区在线观看 | 婷婷伊人网| 丁香婷婷激情综合五月激情 | www.综合久久.com| 久久久久9久无码视频| 日日噜噜夜夜狠狠久久丁香六月| 激情五月狠狠| 六月五月久久丁香| 99精品视频免费在线播放| 色综合色婷色基地| 91午夜婷婷狠狠久久综合9色| 丁香五月天堂网| 久久免片| 五月天久久综合婷婷丁香| 99热九九这里只有精品| www.henhenl| 色婷婷小视频| 色综色网| 99精品偷自拍| 婷婷丁香六月| www久久99| 人人妻人人澡| 激情五月天开心| 欧美激情-区二区三区| 99rewww| 婷婷伊人综合中文字幕| 欧美日韩五月婷婷| 日韩成人AV在线播放| 婷激情五月| 深爱婷婷色| 天天射夜夜爽| 五月丁香美女视频| WWW,色五月| 五月激情啪啪啪| 日韩 中文 欧美| 91精品91久久久中77777| 欧美一级色| 九九AV在线| 久久99久久99精品免观看软件| www。狠狠干。com| 五月天婷五月天综合网小说首页-五月天激激婷婷大综合,婷婷亚洲综合五月天小说 | 五月婷婷丁香| 久99视频| 超碰在线91| 天天干天天做| 久久99视频| www.99热| 秋霞免费视频| 人与禽A片啪啪| CHINESE熟女老女人HD视频| 色色色网站| 色色色热热热| 婷婷97狠狠成人网站| 120分钟婬片免费看| 五月婷婷熟女| 97超碰婷婷五月天| 五月五月婷婷| www.色婷婷| 丁香六月婷婷综合| 久久99热网| 五月日韩中文字幕| 爱iii做iiii日日| 二区成人视频| 五月丁香网站| 色婷婷XXXXX| 日日夜夜狠狠婷婷色| wwW天天干| 色色婷五月天| 伊人久久五月天综合| 婷婷五月天激情基地| 综合激情视频| 另类视频综合| 日本精品久久久久中文字幕| 色播jjjj| 91精品久久久久久久久久久久| 九色91国产| 丁香六月婷婷一区| 丁香婷婷伊人| 在线观看av网站| 婷婷五月天精品| 精品一区二区三区四区五区六区| 五月停性愛| 91亚洲天堂| 九九久久五月天综合伊人| 99色精品视频| 激情综合网 激情五月天| 夜夜夜夜撸夜夜操| 亚洲操b| 国产麻豆视频| 激情人妻综合| 五月婷免费视频久久久| 天天爽,夜夜爽| 色综合丁香| 免费无码毛片一区二区A片| 亚洲一区二区色图-亚洲精品国产精品乱码-成人AV | 天天色凹凸| 九九大香视频| 色婷婷综合中心| 天天久| 五月色丁香| yjzz亚洲国产| 国产成人+综合亚洲+天堂| 丁六月激情| 五月婷婷视频在线观看| 五月丁香网站| 亚洲无码黄色| 六月五月久久丁香| 成人五月天丁香婷| 色婷婷很很丝袜| 五月婷在线影院| 涩涩五| 99 色色吧| 婷婷激情五月综合在线视频| 五月丁香 啪啪啪| 五月天婷婷AV| 岛国在线观看91| 美女久久婷婷| 丁香五月婷婷五月| 天天综合色99| 综合久色五月| 五月丁香久久网| 成人五月天综合网| 99re热精品在线视频| 亭亭五月激情亚洲在线| 99精在线| 丁香五月天天| 丁香五月激情性色郤| 午夜亚洲国产精品av一区二区| 专区无日本视频高清8| 丁香五月六月综合激情| 激情五月婷婷网| 欧美肉大捧一进一出免费视频| 五月丁香六月色| 激情综合色五月丁香六月亚洲| 91操人| 久久99久久久久久久噜噜| 五月婷婷丁香伦理网| 最新色色五月天| 97丁香视频| 九九成人精品| 五月婷婷无码| 丁香五月激情婷婷视频| 99视频35精品视频在线观看| 国产成人亚洲综合亚洲| 丁香婷婷色五月天| 欧美成人AAA片一区国产精品| 超碰人人射| 亚洲性视频| 九九精品re免费视频| 玖操97| av中文在线| 九九色中文| 丁香五月综合婷婷| 六月丁香停| 九九热视频精品| 婷婷影视久久| 色狠狠图片| 午夜精品人妻无码一区二区三区| 天天干夜夜操A片| 色色色色五月| 玖玖视频福利| 婷婷开心激情| 丁香无月在线观看| 激情网五月天| 这里只有视频精品| 伊人日日干| 777精品久无码人妻蜜桃| 久热只有这里有精品| 激情伊人五月天| 九九aV| 一级黄色影片| 婷婷偷拍网| 五月天亭亭俺也| 色色色激情| 婷婷五月情| 色婷婷综合久色AV五色最新| 99这里都是精品| 久热这里只有精品性色AV| 婷婷五月激情五月激情| 欧洲激情网站| 亚洲亚洲人成综合网络| 五月婷婷免费| 97人人操人人拍| 亚洲AV色婷婷人禽五月天| 丁香伊人五月色婷婷五十路| 五月婷婷啪啪| 激情婷婷丁香五月天| 五月丁香综合| 国产色婷婷亚洲| 在线看九一V图片| 婷婷五月天激情五月天| 五月天激情综合网| 丝袜人妻| 婷婷五月天在线观看av| 六月婷婷香蕉| 91人人超碰在线| 色噜噜狠狠色综合AV兰草影视| 丁香五月欧美| 成人AV在线电影| 日本99久久| 2023天天日夜夜爽| 久久人视频| 一区二区成人电影免费播放| 九九热区一区二区三区| 日韩色五月| 99热只有这里才是精品| 亚洲av午夜精品一区二区| 99热99美国在线观看| 色五月天丁香| 96精品成人无码A片观看金桔 | 国产欧美熟妇另类久久久| 久久久区区一久久久久久| 久久六月综合| 色婷婷丁香五月天| 天天开心AV色综合婷婷五月天| 99视频在线看| 日日夜夜狠狠| 深情五月天| 九九操操| 色五月丁香91| 色婷婷操逼| 26uu| 成人综合视频在线| 日韩精品二三区| 99re久热只有精品6在线直播.com| 欧美性丁香色色五月天干干| 99视频一区| 91久久| 久久久国产精品黄毛片 | 五月色婷婷影院| 五月激情婷婷六月丁香| 99九九在线视频| 疯狂做受XXXX高潮A片| 欧州色色| 久久成人性爱| 亚洲色人妻| 白人荫道BBWBBB大荫道| 九九re精品视频在线观看| 天天噪夜夜爽| 中文字幕综合网| www,setingting| 色婷婷婷婷| 亚洲va在线∨a天堂va欧美va| 精a品a视a频| 久草五月婷| 国产精品一区在线观看你懂的| 夜夜谢天天干| 2w在线视频| 色色婷婷五月天| 五月天丁香看婷婷| 国产午夜精品一区二区三区四区| w婷婷五月婷婷w| 中文无码精品一区二区三区| 色五月视频无码播放| 1区2区视频| 69午夜成人影片| 影音先锋色婷婷| 97在线视频 欧美| 婷婷97狠狠成人网站| 丁香六月激情四射| 精品五月天| 人妻熟妇六区| 五月天婷婷六月激情网| 国产精典视频在线观看| 色九九丁香九月色九九色| 九九99久久精品| 五月婷在线| 久久久久久激情| 五月丁香六月婷婷网| 五月天色导航| 五月天激情网图片 - 百度| 99热老网站| 久草九九| 超级碰碰视频无码| 久久综合9| 伊人丁香五月天丁香在线婷| 亚洲日韩一页精品发布| 久久久久人妻| 色婷婷狠狠| 色色色999| 成人婷99最新| 丁香五月最新地址| 色欲午夜无码久久久久久张津瑜| 五月丁香婷婷成人网| 99热久草| 中文字幕AV在线播放| a网站免费观看| www.久久爱.com| 五月天另类小说亚洲| 五月丁花六月丁香综合| 欧美成人猛片AAAAAAA| 狠狠综合久久| 久久人妻精品| 九九爱精品网站| 亚洲久久视频| 97福利视频| av线电影| 狠狠干综合网| 日本黄色一级| 新99色色色色色色| 九九色热| 久久婷网| 激情五月婷婷五月丁香五月开心五月| 狠狠婷婷色综合| 丁香五月婷婷姐| 天天干夜夜谢| 婷婷久久五月丁香| 色女人久久| 一起草aV| 五月激情六月宗合| 婷婷丁香五月社区亚洲| 人妻肉射免费观看| 成熟妇人A片免费看网站| www.激情.com.| 97色片| 久久婷网| 另类 在线| 99视频在线啪| 五月丁香直播| 丁香狠狠| 99在线免费观看| 丁香六月婷婷综合| 亚洲综合色色| 超碰色色综合| 涩综合网| 色综合大香蕉| 五月天堂婷婷| 99re免费精品视频| www.91操| 99re久久| 深爱开心激情| 性爱动图国产麻豆一区二区三区| 天天更新天天亚洲| 欧美久久久中文字幕| 六月婷婷天天操夜夜爽视频| 婷婷伊人| 丁香五月天激情婷婷丁香六月| 五月天色婷婷视频| 99精品偷自拍| 日韩成人电影av| 天天干狠狠| 夜夜爱爱亚洲| 日日夜夜天天| 久久九九中文字幕| 婷婷六月色开| 91美女被操| 婷婷五月天激情AV影院| 久久婷婷五月综合色区| 九一99| 丁香五月婷婷高清| 996热| 五月婷婷香| 天天做综合| 99精品偷自拍| 五月丁香黄色| 色色婷婷婷丁香五月天| 操九色| 亚洲中文字幕网| 九九Av| 艹| 国产色色色色色| 欧美狠狠色| 99色综合网| 亚洲黄色影视| WWW激情五月天| 99碰碰碰| 久99在线视频| 天天情天天狠天天透| 国产又黄又爽又色的免费| 欧洲综合色| 伊人久热91| 色欲天天综合| 婷婷免费成人视频| 久久月天堂| 色婷婷亚洲婷婷| 久操热| 香蕉人妻AV久久久久天天| 噜噜久| 777影视理论片大全在线观看| 夜夜夜叫天天天做| 色噜久| 99视频只有精品| av在线色五月丁香婷区久| 丁香五月婷婷亚洲另类| 久久伊人五月天| 蜜臀av在线成人电影| 色五月天丁香婷婷色| 99热在这里只有精品| 久久这里只有精品网| 综合玖玖偷拍| 播播网色播播| 国产精品A片| 伊人网碰碰| 丁香五月综合| 日韩色色视频| 丁香五月婷婷婷婷欧美综合| 99热综合| 久久综合五月| 绿色小导航AV| 丁香五月无码| 色月九九| 亚洲网站观看视频| 婷婷综合亚洲| 亚洲、热| 欧美在线视频99| 99热无码| 26UUU一区二区| 色9999综合久久| 99久久激情视频| 丁香五月婷婷手机| 亚洲欧洲另类| www网站在线观看| 26uuu成人网| 婷婷五月在线播放| 丁香六月色香蕉视频| 久久九九经典| 91狠狠色丁香婷婷综合久久| 综合婷婷五月天| 六月伊人婷婷| 九九99九九99九九99视频网| 九九久久偷拍| 精品五月花| 超碰av在线| 中文字幕在线观看视频www| 色.五月综合网| 九久9精品| 天天干天天射色综合| 开心六月婷| 91日精品| 99久久精品免费精品国产_国产精品久久久久久_国产在线|日韩_久久国产精品电影 | 日韩不卡DvD| 色爱爱综合网| 五月丁香综合网| 欧美色97| 蜜乳中文字| 五月情四婷婷| 午夜九九九九九九九九九九九九九| 午夜天天精品视频| 色色a| 成人在线日韩欧美| 婷婷丁香五月亚洲综合网在线视频观看| 五月婷婷综合网| 婷婷久久影院| 国产免费一区二区三州老师F1……| 深爱五月婷婷| 日本久久人人| 亚洲这里只有精品| 日日夜夜爽爽| 六月婷婷视频| 久久97| 伊人激情AV一区二区三区| 欧美日本黄色| 色播五月网| 丁香六月亚洲综合| 天天 日综合| 丁香色五月婷婷17C| aaa久久| 丁香六月婷婷社区| 五月激情综合婷婷| 欧洲MV日韩MV国产| 91一起操| 色婷婷久久| 天堂在线9| 久久爱婷婷| 26uuu另类亚洲欧美日本一| 五月丁香天天| 亚洲色激婷| 婷婷她六月天| 久热婷婷| 久久婷婷激情| www.henhenl| 97碰碰在线观看视频| 久久久久久久久久婷婷| 91女人18毛片水多国产| 另类丁香五月天区图| 亚洲无AV在线中文字幕| 国产精品99久久久久久久女警| 色五月天综合网| www激情| 五月天丁香综合| 五月婷婷天堂| 9精品在线| 香蕉婷婷色五月| 丝袜激情网| 狠狠干2007| 3pAV| 七七九九色色| 天天摸,天天爽| 日韩人妻无码一区二区| 欧美成人无码一区二区三区| 99精品无码视频| 996er在线观看| 丁香婷婷五月天色综合| 五月综合激情久久| 色五月久久成人婷婷| xx色综合| 艹| 亚洲免费99| 99热这里只有精品最新网址| 亚洲va欧洲va国产va不卡| 亚州色色色| 99热只有这里有精品| 成人va在线播放| 国产成人高清| 任你草| 五月婷婷综合网| 激情丁香五月| 人人色人人弄人人操| 97干在线视频精品店| 九九成年视频| 久久999久久999久久999久久| 99操无码视频观看| 色色婷婷五月天| 色婷婷五月天天天天天| 五月丁香直播| 天天色综合综合| 精品乱码久久久久| 91久久精品无码一区二区三区| 婷婷五月天综合网| 激情五月丁香五月| WwW色婷婷| 99热很操老逼| AV在线大香蕉| 人妻性爱| 丁香六月亚洲综合| 99激情| 99婷婷| 粉嫩AV久久一区二区三区| 好叼操在线观看| 超碰人人99| 99re久热| 色五月婷婷色| 久久久天堂国产精品女人| 婷婷五月天天| 色综合久久综合| 日韩不卡DvD| 五月丁香婷婷无码A∨| 伊人深爱综合| 国产激情av| 色综合天天| 色激情网| 超碰操网| 五月社区婷婷激情| 久色婷婷200| 丁香六月婷婷久久综合| 9热网站| 婷色视频| 久久婷婷五月国产激情综合片| 五月丁香六月婷婷手机无线| 91色在线 | 日韩| AV九九| 精品夜夜澡人妻无码AV| 久热免费| 丁香激情五月天| 丁香五月伊人| 五月天激情图片| 极品人妻videosss人妻| 综合婷婷五月天| 九九人人操| 激情文学 综合 九月| 91狠狠色丁香婷婷综合久久精品| 五月天婷婷久久综合| WWW,五月| 久久久国产精品黄毛片 | 亚洲乱码日产精品BD| Caop在线| 婷婷久久五月天亚洲欧美国产日韩在线观看 | 丁香五月日啪| 亚洲婷婷激情综合激情999精品| 丁香六月婷婷综合| 97人人看一| 天天做天天爰天天爽天天无遮挡| 99热亚洲| 丰满老熟妇BBBBB搡BBB| 丁香激情五月| 99aese| 色婷婷久久综合| 亚洲av电影在线| 开心五月婷婷五月| 色婷婷亚洲五月天| 内射人妻视频国内| 久久东京热婷婷五月| WWW.色婷婷.COM| 青青草激情网| 99少妇精品| 五月天伊人日日噜影片AV| 婷婷天堂综合| 日韩av高清| 婷婷五月 丁香六月| 伊人五月婷婷| 九月色婷婷综合亚洲| www.天天干.com| 色综合久久88色综合天天看| 嫩草免费视频| 影音先锋女人av鲁色资源网小说免费| 久久视频婷婷| 五月天婷婷激情六月久久| 狠狠色婷婷7| 超碰免费大香蕉| www.亚洲激情.com| 国产精品噜噜在线视频| 天天射综合网站| 国产精品岛国片在线观看免费| 日韩六六久久电影| 丁香五月激情综合| 欧美婷婷日本| 亚洲五月天另类小说图片| 丁香综合日产精品久久| 五月噜噜噜色综合| 日韩成人中文字幕| 婷婷丁香综合| 无月播播激情在线观看视频| 国产精品久久久久久久久久| 五月丁香六月婷| 丁香久月| 9久热在线精品| 色婷婷色五月综合| 一本大道嫩草AV无码专区| 欧美色图45678| 色欲天天综合| av在线免费网站| 蜜桃五月天| 九月丁香久久网| 五月香蕉婷婷| 色婷五月天| 五月丁香激情综合网| 中文字幕AV网址| 色婷婷影| 激情五月久久| 色综合色综合色综合| 五月天色婷婷基地| 亚洲午夜成人av电影网| 久色成人| 思思热在线| 六月欧美综合色情| 99成人在线观看| 欧美在线视频99| 激情综合色| 99热最新网址| 久热99| 九九碰九九爱97超碰| 91天天操天天干天天射| 久久与婷婷| 五月丁香欧美综合| 激情AV在线| 久久婷.com| 亚洲不卡| 日韩欧美颜射| 色综合久久888| 婷婷色五月天在线观看| 丁香久久| 激情五月天视频| 九月丁香婷婷综合激情| 色99在线| 五月丁香婷婷五月色| 99精品国产乱码久久久人妻| 五月天婷婷在线观看精品男人| 狠狠爱综合网| 97操视频| 久久婷婷网| 色婷婷久久综合| 婷婷色综合| 五月欧美色播| 亚洲人妻av| 久久久月丁香| 色吧婷婷五月亚洲| 色婷婷五月天不卡| 五月天综合色| 色五月av| 婷婷丁香花五月天| 色播五月丁香| 影音先锋女人av鲁色资源网小说免费| 亚洲va综合va国产va中文| 五月丁香在线国产| 影音先锋男人站,影音先锋男人色资源网,影音先锋AV最新资源站,影音先锋AV资源 | 香蕉乱插| 久9久成人精品视频| 婷婷五月电影院| 五月天婷婷激情| 久久五月网| 天天综合网~91| 丁香婷婷社区| 91成人品| 专区无日本视频高清8| 激情美女五月天激情在线| 丁香五月色色婷| 色婷久| www.婷婷| 天天操天天操天天操天天操天天操| 丁香五月停停基地| 色香欲综合| 中文aV网| 青青草五月天| 五月丁香色色网| 天天 日综合| 超碰免费电影| www.91操| 欧美性丁香色色五月天综合爱爱| 伊人在线另类| 超碰99热精品| 丁香六月色婷婷欧美| 婷婷五月五月丁香| 91九色视频在线观看| 五月丁香亚洲校园欧美| 欧美成人在线观看| 天天干一干| 91chinese在线| 色婷婷影院| 欧美噜噜久久久XXX| 亚洲狠狠终合停停终合| 天天爱天天爽| 午夜色色色极品视频| 亚州欧美黄色电影| 91玖玖| 五月天婷婷激情小说| 97久久久免费福利网址| 激情综合五月婷婷| 5月婷婷五月天| 九月激情网| 激情98色婷婷五| 五月天婷婷免费| 婷婷六月插屄激情| 亚洲一区二区无遮挡A片| 99热伊人| 六月丁香五月天| 丁香六月激情国产| 五月天精品视频| 五月婷婷综合潮喷| 五月婷婷色影院| WW婷婷五月天com| 色玖玖综合网| 色婷婷影音| 国产熟女一区二区三区五月婷| 激情内射人妻1区2区3区| 亚洲精品在线视频| 天天操天天操| 婷婷九月亚洲| 亚洲激情四射色| 九色PORNY9l原创自拍| 五月丁香婷婷开心| 久久永久网址| 色色综合院| 无码少妇高潮喷水A片免费| 日本婷婷五月天| 丁香婷停五月激情综合深爱| www..999热久| 婷久久久| 久久98| 国产激情在线| 色欲五月婷婷| 色六月丁香婷婷啪啪啪| 九月大香蕉| 久久久国产精品黄毛片| 五月婷婷中文字幕| 丁香五月五婷| 丁香婷婷五月天色综合| 人人操人人爽成人AV| 超碰只有精品在线| 99性色| 99热| 色噜噜婷婷| 国内裸舞二区| 曰曰久久| 91精品综合久久久五月天| 农村熟妇高潮精品A片| 99色婷婷视频| 99爱在线视频| 久久机热思思热| 亚洲精品五十一区| caop在线视频| 久久婷中文字幕| 以及AA大片看看| 久久怡红院| 9+1视频网址| 丁香六月婷| 五月婷婷开心五月| 日日夜夜天天爽| 综合网激情五月天|