99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

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
返回資訊列表
亚洲综合999| www.五月天色色色| 成人在线视频网| 日本99热| 伊人成综合五月婷婷| 久久久ww| 婷婷五月天网| 婷婷开心久久| 热99视频| 丁香激情合作五月| 中文网AV| w婷婷五月婷婷w| 丁香色情五月综合网站| 五月丁香手机在线| 91男同| 久久久亚洲精品一区二区三区浴池| 激情五月天小说|五月天开心激情网|亚洲精品国产自在现线|黄色五月天 | 激情五月婷| 天天性视频| 丁香五月桃花在线激情综合| www.色多多婷| 天天弄天天操| 天天婷婷色六月| 五月天婷婷xxx| 97成人在线视频精品| 色婷婷六月| 久色网址| 99精在线| www色五月| 色色色成人网| 可以看的AV| 激情美女五月天| 久久久久久久久久91| 99色综合久久| 人人97操| www.99热精品| 97视频91| 7月婷婷六月丁香| 91九色精品| 五月婷狠狠| 无码激情AAAAA片-区区| 色99综合色88| 人人操人人添人人摸97| 99热销国产这里有精品| 97在线精品视频| 狠狠爱婷婷色| 一区视频网站| 99久久99视频只有精品| 99热久久这里只有精品| 天天橾日日橾夜夜橾17| 国产VA亚洲VA96| 亚洲99手机免费看视频| 丁香五月婷婷色| 五月丁香婷婷激情| 激情丁香五月天图片| 玖操97| 狠狠婷婷爱| 狠狠香婷婷五月| 天天做天天爱天天摸| 午夜成人AV在线| 精品久久9| 五月婷婷色播| 开心五月激情站| 色婷婷丁香五月观看| 六月丁香婷婷天堂| 久久99热免费最新版| 操操自拍| 中文字幕无码人妻少妇免费视频| 婷婷丁香五月社区亚洲| 影音先锋一区| 国产热精品| 婷婷五月天激情五月天深爱五月天| wwwC0maV五月花| 五月天激情啪啪| 五月综合激情视频在线| 99视频久久| 97人人操人人干| 最近中文字幕大全免费版在线 | 九九热婷婷| 91人人操人人爱| 99自拍视频| 婷婷五月色| 精品香蕉99久久久久网站| 天天色五月婷婷91久久久久久久| 欧美99热| 丁香五月婷婷色播艳门照| 色五月天电影| 国产毛片精品一区二区色欲黄A片| 无码激情AAAAA片-区区| 久久婷婷色色| 国产VA亚洲VA96| 丝袜激情网| 六月婷婷五月天| 天海翼中文字幕高| 五月丁香 六月婷婷a| 伊人狠狠干| 久久人妻精品| 99热午夜精品| 五月丁香婷婷久久| 色综合网址| 国产人妻777人伦精品HD| 色色色色区| 97在线观视频免费观看| 丁香激情久久| 五月丁香激情综合网| 五月婷av| 超碰日日操| 激情婷婷五六月天| 久久视频这里有精品99| 26uuu丁香婷婷五月| 99视频久久免费视频| 日本色色色| 婷婷五月影院| 久久五月婷| 久久99免费视频| 大狠狠在线| 99久久色| 久久性爱视频久久性爱视频| 日日夜夜干| 婷婷综合日本| 欧美日韩AAAA| 婷婷五月精品| 激情色情五月天| www.99久| 日本一级特黄大片AAAAA级| mmm1717.6dbm人人爱人人操| 成人AV免费观看| 亚洲无码影音| 五月婷婷婷婷婷| 综合久久婷婷| 丁香五月AV综合| 97干欧美| 4399成人黄A片| 79色色| 九九热超碰| 九月综合| 婷婷黄色| 亚洲操逼网| 色婷婷亚洲六月婷婷中文字幕| 国产特级毛片AAAAAAA高清| 五月婷婷婷| 色婷婷91| 婷婷狠狠干| 琪琪色热色色| 99精品热视频| 深爱五月月天| 五月综合色| 日本久久99| 色五月天堂| 五月天丁香综合久久国产| 久久久这里有精品| 9久视频| 丁香五月色五月| 婷婷黄色五月| 久99久在线| 五月天丁香网| 最新高清无码专区| 97婷婷五月| 婷婷五月综合体验看| 狠狠 久久| 五月草视频| 婷婷五月激情小说| 免费看欧美成人A片无码| 五月婷婷之综合激情在线| 视色综合| 五月丁香好婷婷A片网| 激情五月丁香社区| 色五月丁香五月五月婷婷| 五月丁香啪啪综合网| 亚洲妇女熟BBW| 26uuuavcom| 任你躁XXXXX麻豆精品| 丁香五月天av| enecarbon-materials.com污K127封锁请涟系@wip1688 | 色色色欧美| 亭亭玉立国色天香| 亚洲中文字幕翔田千里| 粉嫩av懂色av蜜臀av熟妇| AV电影在线播放| 丁香五月婷婷网| 影音先锋xfplay资源男人网| 99热人人操人人操| 五月天婷婷色| 婷婷五月精品中文字幕| 狠狠做深爱婷婷久久综合一区| 欧美群妇大交乱婬网| 少妇熟女视频一区二区三区| 色播五月| 免費亭亭成人| 香蕉大综综综合久久| 九九re精品视频在线观看| 91 九色 熟女| 亚洲另类毛片| 北京熟妇搡BBBB搡BBBB| 一级二级色大片| 久久性爱视频| 毛片九九九九九九| 99国产性感视频| 91性人人| 五月天婷久久| 深爱激情五月网| 激情五月天婷婷视频| 欧美婷婷九月| 亚洲国产精品二二三三区| 啄木鸟丝袜美女福利视频| 伊人久久大香线蕉av一区| 日本久久天堂| 欧美日韩成人高清在线| 人人摸人人干人人做| 婷婷亚洲影院| www. 五月. com| 欧美婷婷五月无砖| 色婷婷五月色| 加勒比久热| 少妇综合网| 五月天婷婷无码视频| 97干在线视频| 欧美性久| 欧美超碰亚洲| 久久这里只有精品视频15| 久9热| 99热这里只有精品50| 色婷婷www| 成人五月天综合网| 青青青在线视频国产| 国产精品电影网| 激情综合婷婷| 五月丁香久久久日婷婷久久婷婷日| 色欧美日| 色婷婷色和| 五月丁香色综合| 九九自拍网| 99热这里只有精品一区| 色情一区二区播放| 欧美婷婷五月天综合| 婷婷色婷婷亚洲成人| 久久日九九| 综合福利网| 国产67194| 91九色中文| 国产资源91在线| 久久这里在精品视频| 五月丁香六月激情| 天天插综合| 丁香六月综合激情| 色婷久| 婷婷开心激情五月激情网| 婷婷在线五月天观看| 这里只有精品免费在线视频| 色狠狠五月天| 99高级会所久久| 中文字幕不卡+婷婷五月| 久热超碰91| 激情综合婷婷久久| 91九色中文字幕女在线观看| 五月婷婷久久大香蕉| 色综合婷婷| www色五月| 色五月在线观看| 热久久99热欧美国产亚洲| 5月婷婷激情6月| 性爱电影科技贸易有限公司| 五月丁香婷庭在线| 亚洲激情五月| 色婷婷欧美| 开心五月综合激情网| www.狠狠| 五月天婷婷久久视频| 婷婷五月天精品| 婷婷网五月天| 激情小说色五月| 99热传媒| 日本三久久| 高清不卡一区| 夜夜做天天爽| 51国精产品自偷自偷综合| 另类激情中文| 激情综合网五月天| 96丁香婷婷九月蜜桃综合久久| 丁香五月天久久| ztEJj| 亚洲黄网在线| 在线另类视频| 97婷婷丁香五月| 色五月婷婷内射| 小骚穴电影| 男人天堂99| 五月丁香久久精品在线观看| 99视频只有这里精品| 日日干日日| 五月婷丁香| 日本精品人妻无码77777| a性生活久久无| 99精品偷拍视频| 91九色国产在线| 99这里只有免费的精品| 可以免费观看的AV| 欧美成人AAA片一区国产精品| 五月天婷婷偷拍| 超碰在线超碰| 欧美Va在线| 婷婷五月成人| 久草婷婷网| 激情综合在线播放| 婷婷性爱无码视频| 久热9| 婷婷色五月91啪啪| 激情宗合哪里能看| 99久久婷婷五月综合| 9久久精品| 亚洲正能量欧美| 91超级碰碰碰| 天天射影院| 久久丁香| 99爱爱| 战争与艾拉电影免费观看| 久久久婷婷五月亚洲97号色| 免费黄网不卡AV| 成人网在线视频| 婷婷一本和五月丁香| 激情五月婷| 丁香五月天操B| 婷婷久久网| 国产在这里只有精品| 涩五月婷婷| 亚洲一区二区无遮挡A片| 色色色色色级无码| 天天日天天摸| 91狠狠色| 97久久精品| 超碰妻人人| 激情久久四色| 色五月激情五月开心五月| 香蕉色色网| 亚洲俩性性爱图片久久第六页| 97九色视频| 五月婷婷碰碰| 这里只有精品在线播放| 欧美性猛交XXXX乱大交极品| 丁香五月天天| 五月丁香综合啪啪| 日韩草草草草草草草草草草草草| 99精色| 久久加勒比| 久久人妻视步| 99热色综合| 五月天激情国产综合AV| 日本不卡高字幕在线2019| 91精品综合久久久久久五月丁香| 婷婷五月天激情小说| 婷婷色六月| 久激情| 一区二区三区四区无码| 99精品视频播放| 五月花成人网| 五月丁香婷婷伊人| 五月色天情| 任我干视频在线观看| 五月www| 最近中文字幕大全免费版在线| 久久丁香五月天| 日本在线视频www色| 天天综合五月| 色综合天天综合成人网| 激情婷婷五月天网址| 婷婷五月天成人| 9.1综合网| 午夜天堂啪啪| 亚洲国产成人裸舞| 亚洲视频无| 99热精品在线观看| 五月丁香色情| 性做爰A片免费视频A片直播| 婷婷丁香五月亚洲免费| 玖玖精品婷婷| 五月婷婷激情五月| 久久只这里有精品| 五月婷婷丁香网| 思思热视频| 五月婷婷六月丁香首页| 天天操天天曰| 人人综合五月人人婷婷| 任你搞在线观看视频| 欧美成人日韩| 九九九九九无码| 欧美日韩二区在线| 狠狠干在线| 91viP在线看| 99综合视频一体| 久久深爱激情网| 99热97美女| 五月丁香六月婷| 久久亚洲婷婷| 99视频日韩| 操日视频| 色婷五月丁香久亚洲| 丁香狠狠色婷婷久久无码视频| 天天操夜夜橾| 狠狠操.com| 99久操视频| 另类激情首页| 婷婷六月爽| 色拍九九九| 婷婷色情网| 天天免费成年人视频| Www.久久| 激情网五月天| 男人天堂99| 天天在线久久综合| 色综合丁香婷婷| 最近中文字幕大全免费版在线 | 五月丁香影院| 欧美va欧美va差| 97在线刺激| 亚洲精品国产熟女久久久| 色五月中文网| 五月天久久www| 久久激情五月婷婷| 亚洲综合碰| 夜夜爽天天干| 久大香蕉| 激情5月婷婷| 婷婷丁香77777| 激情婷婷99| 亚洲九区| 日韩操人| 成人网在线视频| 五月丁婷婷| 色欲天天综合| 色色色97| 色停停影院五月天| 99天堂在线观看免费视频| 久久婷婷五月综合| 九艹在线| 播播网色播播| 新精品99| 热99这里只有精品视频| 国产Va视频| 丁香六月婷婷综合激情欧美| 亚洲成人中心| 日韩大片艹艹| 性爱五月婷| 日日做A爰片久久毛片A片英语| 激情综合网址| 中文色婷婷| 激情綜合W W W,激情五月天| 天天操夜夜橾| 亚洲情a| 色婷婷丁香五月天在线视频 | 婷婷五月天激情综合深爱| 99啪啪视频| 六月婷婷色色色| 天天操天天国产三级片处女学生妹| 成人综合网站| 四LLL少妇BBBB槡BBBB| 91精品综合久久久久久五月丁香| 激情综合啪啪| 亚洲成人在线播放| 79精品视频在线观看,| 亚洲性爱电影| 成人电影一区| 99热这里只有精| 色五月大香蕉| 成人精品在线| 亚洲妇女熟BBW| 中文成人在线| 丁香六月天婷婷色| 久久婷婷青青| 久久精品日| 久久一伦| 國語久久婷| 97操视频| 九九热这里精品| 丁香五月天色综合| 九九热这里只有精品9| 思思热久久婷婷五月天| 青青草激情网| 精品人人操| 狼人久草| 少妇AB又爽又紧无码网站| 国外亚洲成AV人片在线观看| 以及AA大片看看| 另类图片五月天激情| 丁香五月天婷婷大香蕉| 91超碰在线播放| 欧美色图天堂网| 99 热| www婷婷亚洲| 综合色色婷婷| yellow视频在线观看91| 少妇高潮呻吟A片免费看软件| 久久久国产精品黄毛片| 9 9 9色色| 外国碰视频网站97| 五月天开心成人网| 人妻久久人妻久久第一区| 玖玖在线视| 欧美成人va| 一级片操逼视频| 婷婷五月激情视频网| 丁香五月最新地址| 天天爽,天天操。| 五月婷婷丁香啪啪| 大香蕉在线观看9| 久久婷婷人人| 婷婷色五月综合丁香| 日日干日日s| 九九在线这里只有精品视频| 五月婷婷基地| 激情五月婷婷色综合| 97色色婷婷五月天| 六月丁香综合999| 五月婷婷av| 狠狠操狠狠操| 亚洲精品成人片在线播| 久久亚洲网| 日本色狠狠| 五月天婷婷影院| 中文字幕综合色| 婷婷色五月丁香六月欧美啪| 婷婷香五月| 激情五月天色色网| 综合久久六月| 无码中文一区二区三区| 久热人妻| 日韩无码系列| 天天日日爽| 思思re99视频在线观看| 五月天之色情综合网| 3pAV| 色情五月丁香| 97香蕉人人在线观看| 天天舔夜夜操www com| 可以看的AV| 国产人妻人伦精品一区二区 | 日本三级片片| 综合色综合| 九九AV| 婷婷之玖玖| 成人网站免费sxj| 五月激情综合网| 五月天婷婷丁香人人操91| 天天成人综合| 日日夜夜干| 伊人www22综合色| 五月婷婷久草在线视频综合| 色五月激情五月| 97香蕉碰碰人妻国产欧美| 欧美黄色AA片哗啦啦啦| 夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂亚洲亚洲亚洲亚洲亚洲亚洲亚洲亚洲色 | 婷婷五月丁香成人| 国产成人精品一区二三区熟女在线| 任你擦免费视频| 99操逼| 610018岁成人视频| 亚洲激情高潮| 九九热免费视频| 26UUU一区二区| 最新色色五月天| 亚洲精品网址| www.99热| 香蕉久久国产av一区二区| 色婷婷精品| 欧美日本国产| 九九亚洲视频| 停停六月 综合| 欧美人妻一区二区| caopeng97人人| 色五月丁香五月| 国产永久一黄| 射区导航| 国产亚洲99久久精品| 九九色逼| www。狠狠干。com| 成熟妇人A片免费看网站 | 99精品国产在热久久| 97超碰综合| 深夜男女福利刺激影院一区完整| 婷婷五月天小说网| wwW天天干| 色欲天天综合网| 久久99热这里| 老妇六区| 5月婷婷6月六月丁香| 婷婷刺激综合| 久久人妻久久| 五月天五月色| 人操91在线| 五月激情综合网| 欧美色五月| 激情五月丁香色婷婷| 欧美成人猛片AAAAAAA| 久久久久久综合五月婷婷| 色婷婷精品视频在线播放| 五月花免费视频| 五月婷在线影院| 日日天天干| 综合久色五月| 偷拍99在线视频观看| 丁香五月天综合| 久久草大香蕉| 秋霞av吧| 欧美精品啪啪| 五丁香激情综合| 91热久88| 五月婷婷丁香| 精久久色| 激情五月综合网最新| 丁香五月成人| 丁香在线视频| 婷婷六月综合在线| 色色丁香| 情涩婷婷五月天| 超碰猛烈的性猛交| 免费无码毛片一区二区A片| 五月天婷婷在线播放免费| 五月天婷婷网站888| 免费看欧美成人A片无码| 五月丁香性| AV伊人青草丁香六月| 91婷婷视频| 欧美精品999| 久久人妻系列| 大香蕉久久伊人婷婷五月丁香| 免费黄网不卡AV| 色色色地址| 五月婷婷免费视频| 五月天大香蕉| 超级97碰碰| 色色五月天婷婷| 五月天综合在线观看视频| 国产VA播放| 日韩五月婷婷| 五月婷婷丁香五月婷婷丁香| 思思久久精品视频| 五月丁香啪啪综合| 奇米影视在线视频| BBWCUCKOLD精品熟妇 | 日韩在线视频中文字幕| 另类国产欧美视频| 性做爰A片免费视频A片直播 | 国内外色色色色色成人视频| 狠狠操天天干| 国内精品玖玖| 五月情婷婷五月| 久久艹99| 光棍影院日韩精品| 婷婷五月欧美AA片免费| 97在线观看| 日韩AAAAA| 五月丁香激情综合啪啪| 五月婷婷色激情| 久久九九99字幕| 伊人春天av| 久99视频在线观看| 日本久久人| 久久综合香蕉国产国产蜜臀AV| 免费视频WWW在线观看网站| 色婷婷操逼| 五月天伊人久久久久| 韩国三级五月天婷婷。| 丁香婷婷伊人| 五月丁香激情在线| 亚洲综合色五月| 97色色色色色色色色色色色色色| 色五月涩涩婷婷蜜桃| 五月丁香激情综合网| 在线观看亚洲视频影院| 久久久婷婷五月亚洲97号色| 色五月婷婷影院| yazhochengrenavwang| 中文字幕av久久爽| 丁香五月天社区婷婷| 亚洲AV成人一区二区在线观看| 国产69精品久久久久999小说| 九九久久精品| 国产精产国品一二三在观看 | 激情 婷婷 插| 婷婷五月天综合中文| 六月色国内综合| 人人操人人爱丁香五月| 婷婷色爱| 九九在线视频| 91超碰人人操| 涩五月婷婷| 伊人久久婷婷| 熟女强人妻一区二区三区四区无| 亚洲精级| 婷婷五月激情五月丁香五月| 亚洲性爱电影| 热中文字幕| 狠狠做五月婷婷| 婷婷四色五月| 5月婷婷6月六月丁香| 色婷婷五月天成人网| 99ri国产| 五月天综合| 狠狠色综合五月人人| 丁香五月激情啪啪啪| 91精产品自偷自偷综合| 丁香婷婷久久 | 人人操人人爽成人AV| 99久久久久| 天天艹夜夜爽| 播五月丁香三月婷婷| 色综合婷婷| 免费无码毛片一区二区A片| 婷婷五月丁香五月基地| 97欧美在线| 色性综合| 丁香五月五月婷婷五月天激情四射| 久久人人妻| 99这里有精品| 99久久偷拍视频| 另类A片| 日韩欧美四五区| 狠狠高潮精品亚洲1| www.99热| www.夜夜爱.com| 色五月婷婷基地| 影音先锋男人女人| 性爱网五月天| 开心五月综合| 激情综合久久| 日本nghangse中文字幕| 人妻熟妇国产精品| 五月激情天天干| 另类图片五月天| 26uuu成人网| 怡红院 久久| 婷婷六月五月天综合| 天天玩夜夜操| www五月天com| 欧美综合在线五月天色婷婷| 99在线热| 激情五月天福利| 九热在线这里有精品6| 色色无码| 99网99热| 国产真实乱对白精彩| 婷婷丁香色情| 久久er99| 欧美S码亚洲码精品M码| 五月丁香 啪啪| 99亚洲日韩| 最近中文字幕在线中文视频| 狼人婷婷久久| www.99成人视频| 亚洲操人| 日韩操人| 九九色播五月丁香| Av免费网站在线| 婷婷操逼网| 99色在线| 婷婷色婷婷| 国产无人区大片| 色婷婷丁香AV综合| 深爱丁香激情| 99热这里有精品| 啪啪一区| 91操片| 五月婷婷精品| 婷婷五月综合视频免费播放| 97爱艹婷婷开心丁香激情综合| 狠狠夜夜五月丁香| 丁香六月综合激情| 99五月丁香丁| 激情五月小说婷婷| 五月婷婷久久久| 婷婷色五月开心五月| 玖玖爱导航| 欧美xx激情视频在线观看| 五月天丁香婷婷久久九| 99久久思思| 成人片黄网站色大片免费毛片| 丁香五月激情天AV无码| 97热这里只有精品| 久热只有这里有精品| 日日色五月天| 国产精品99久久久久久久女警| 亚洲综合网区| 婷婷五月激情网| 日本精品在线噜噜噜| 色五月六月| 婷婷五月天受日本法律保护| 丁香五月成人网| 日日操夜夜爽白洁| 极品人妻VIDEOSSS人妻| 五月丁香六月婷婷免费| 老妇六区| 天天日日夜夜爽。| aaa9区免费在线观看| 五月天 婷 欧美亚洲| 99噜噜| 色99视频| 亚洲久久视频| av一级棒av| 婷婷丁香人妻天天| 91在线视频综合| 婷婷色在线观看| 99久久免费性爱视频`| 91操人视频| 久久午夜理论| www.久久久久久久久久.com| 99热只有| 九九热这里只有精品7| 色五月激情网| 婷婷精品综合| 午夜爱插插| 色五月成人| 丁香婷婷六月激情综合| 色婷婷综合丁香五月天| av网址在线| 美女婷婷六月色| a免费在线| 操日视频| 久久99热这里只有精品23| 激情5月婷婷| 日日夜夜狠狠| 国产xxxxx在线观看| 色婷婷丁香女女| 99色综合| 欧洲亚洲免费视频区| 人人综合色| 久久性爱视频| 欧美97p| 亚洲小电影在线观看黄999| 婷婷色综合| 99这里都是精品6| 九九亚洲视频| 久久九九热re6这里有精品| 色色色五月婷| www婷婷色情网| 97热在线精品| 极品人妻VIDEOSSS人妻| 久久3p| 激情亚洲婷婷六月| 91婷色| 真实的国产乱XXXX在线91| 99色网站| 久久A区B区| 五月丁香亚洲校园欧美| 热久久婷婷| 丁香五月av| 丁香狠狠色婷婷| 婷婷综合五月色播| 狠狠色色| 玖玖爱导航| 国产熟妇乱子伦hd| 成人电影一区| 人人爽天天爽| 九九久久五月天综合伊人| 色五月色五天色情网| 99在线看视频| 五月综合视频| 五月丁香六月香香蕉| 婷婷五月丁香伊人| 婷婷激情综合色五月久久,色婷婷丁香花,丁香婷婷五月情天,久久婷婷五月综合色 | 青草激情在线| 五月香蕉综合| 色V狠狠的干| 五月丁香综合网| 97高清国语自产拍| 天天插综合网| 婷婷综合色| 99视频精品全部观看10| 在线观看玖玖资源免费观看| 五月天婷婷六月激情网| 亚洲 视频 导航 一区| 97干在线免费| 狠狠色噜噜狠| 丁香婷婷综合激情五月色| 97色婷| 麻豆雪千夏| 国产精品色婷婷AV综合色色| 色色色.com| 性爱在线播放av| 亚洲精品国产成人AV在线| 婷婷 丁香 久久| 婷婷五月天综合久久日美女| 六月成人网| 亚洲国产精品SUV| 操99| 激情五月天丁香| 噜噜视频| 久久国产色| 色五月婷婷久久| www.色99| 99久久综合| 人妻无码精品一区| 久久只有18视频| 九九热99热| 天天爽天天日| 久久婷婷五月天| 久久婷色| 国产毛片欧美毛片久久久| 99精品视频在线观看| 成人看片网站| 亚洲精品又粗又大又爽A片| 色墦五月丁香| XX色综合| 亚韩精品视频1区| 99视频啪啪| 狠狠爱婷婷色| 欧美日本黄色| 97操操| 天天爽成人综合网站| 久久婷婷五月国产激情综合片| 丁香六月色香蕉视频| 亚洲激情图文小说| www.五月婷婷久久.com| 久久99色色| 婷婷开心五月| 91碰超| 婷婷丁香人妻天天爽| a网站免费观看| 伊人高清无码| 成人免费网站免费看| 国产免费一区二区三区三州老师F1F1.CC| www.综合久久.com| 五月丁香999| 99热这里只有精品98| 色婷婷五月天小说网| 涩涩涩五月天| 91九色精品女同系列| 色婷婷网| WWW.亚洲无码| 成人在线综合| 婷婷五月中文在线| 99热这里只有精品一区| 五月天婷婷丁香导航| 婷婷五月天色色| 国产在线aaa片一区二区99| 九九九干精品| 99热国内精品| 五月永久激情| 五月综合激情视频在线| 久久久婷| 91九九九色在| 在线成人网址| 99性爱无码| 精品人妻伦一二三区久久| 操碰91| 日韩限制级大尺度黑料泄密大尺度视频一区二区在线观看 | 夜夜撸夜夜骑| 五月丁香婷久久| 午夜成人天堂久久无码日韩久久| 五月婷婷久久激情| 成功精品影院| 风流少妇A片一区二区蜜桃| 超碰97色| 91精品熟女| 丁香激情五月天| 99热这里都是精品| 丁香六月婷婷色播| 伊人综合网4| 99热在线精品观看| 超碰婷婷五月| se99高清无码| 色五月av| AⅤ网站在线看| 亚洲99综合| 五月婷婷六月开心| 久久小视频| 九九热婷婷| 夜夜夜叫天天天做| 五月丁香| 久久大香免费| 天天射影视综合网| 五月激情六月丁香| 婷婷五月精品中文字幕| 五月丁香六月停停| 大香蕉综合在线| 激情av在线| 五月婷婷九| 色色激情五月天| 超碰色综合| 99久久激情视频| 一本色道久久88综合日韩精品| 亚洲另类婷婷综合| 丁香五月天啪啪| 婷婷丁香无码专区| 思思视频这里是精品| 热久国产| 亚洲av午夜精品一区二区| 99爱视频在线免费观看| 国内外色色色色色成人视频| 91丨九色丨白浆| 六月丁香六月婷婷欧美| 五月丁香偷拍| 色综合色香蕉网| 热久久成人| 99久久久久| 成人中文字幕在线| 天天爽天天日| 色五月色情| 日日操天天爽| 婷婷六月丁香五月图区| 五月天婷婷午夜丁香| 色五月天堂| 综合性爱网| 狠狠综合网| 国产亚洲色婷婷久久99精品91 www.riverspirits.org www.hnnun.com www.changh | 婷婷在线精品| 影音先锋色婷婷| 亚洲黄色精品| 激情五月天啪啪| 综合网啪| 91肏| 97色久| AV在线资源| 91精品久久久久| 777影视理论片大全在线观看 | 丁香婷婷五月天在线视频| 久久综合9| 丁香婷婷婷五月| 99热www| 99这里只有精| 日本三级毛片| 五月综合丁香婷婷| 亚洲第一黄网| 精品久久久人妻| 91操操| 91日韩在线| 狠狠操天天操综合| 午夜无码熟熟妇丰满人妻| 毛片新网地| 韩日AV片| 久色| 9色在线| 婷婷久久综合| 婷婷成人综合五月| 中文AⅤ大全| 天天激情欧美美女| 婷婷五月大香蕉| 深爱激情丁香| http://www.lingjunshare.com/| 婷婷丁香五月天综合激情| 色婷婷丁香五月天| 九九综合图片网| 超碰在线免费| 天天色情站| 色婷插| 五月婷婷丁香| 色性综合| 婷婷五月激情欧美大胆视频| 色婷婷精品| 99ri精品| 久久精品99国产精品日本| 巴基斯坦粉嫩无码视频| 97黑人精品区| 五月丁香五月综合欧美| 久久这里只有国产精品视频| 色播五月丁香综合| 这里只有精品免费| 99久久精品网| 婷婷大乡焦噜噜| 色色99| 天天搞天天色综合| 伊人久久大香网| 91 影音先锋| 丁香久久久| 亚洲性爱99| 婷婷色基地在线看| 思思热在线观看| 思思re99视频在线观看| 狠狠香蕉| 人人操人人妻| www.婷婷五月| 天天高潮夜夜爽| 亚洲综合字幕色色| 夜夜躁婷婷AV| 亚洲色婷婷婷婷人人爽| 色婷婷亚洲在线观看| 亚洲人人操| 色婷婷久久综合久色综| 狠狠看狠狠| 99色.com| 99精品偷自拍| 97色片| 日日夜夜爽| 丁香五月天信号| 欧美大道不卡| 91无码一区人妻A片蜜| 亚洲视频二区| 色综合色综合网| 欧美va精品va老师va| 情一色一乱一伦一91A| 99精品成人无码A片观看金桔| 99这里只有精品| 日日操日日射| 美女va| 综合一区二区三区| 99热99精品在线观看| 99色色视频| 五月婷婷六月丁香玖玖玫瑰91| 色五月五月天| 激情五月天久久丁香| www.97干视频| 日逼影音先锋男人资源站| 九九色热| 97超碰综合| 色五月婷婷老师| 五月亭亭综合五码| 日本美女天天日天天爽| 日韩成人AV在线| 9久久网| 婷婷丁香五月社区亚洲| 99在线精品免费视频| 九九亚洲视频| 第四色大香蕉| 精品久久久人妻| 日韩精品色| 综合xx网| 五月欧美色播| 人妻人人操| WWW.久久久久久久| 丁香花成人区| 婷五月天| 婷婷丁香精品视频在线观看| 国产午夜精品一区二区三区四区| 天天综合网站| 久久婷婷五月| 五月婷婷激情综合网| 黄网在线免费观看| 香蕉综合在线| 五月婷婷色影院| 色天堂在线| 久久精品99久久久久久| 99re热在线视频观看| 日日夜夜狠狠| 九九无码| 超碰在线观看9| 97极品在线| 生活片五区| 9|无码久久久久久| 日本片日本片祼观看网站在线看中文版网页在线看 | 五月天播播综合| 99这里有精品免费| 婷婷五月丁香六月伊人网| 色色综合色视频| 区区久久妻| 99视频色在线观看| 五月婷婷色播视频| 人妻性爱| 五月天色五月天| 激情美女五月天激情在线| 色五月婷婷天天操夜夜操| 天天日天天干天天插天天射| 96五月丁香熟女| 99热这里只有精品86| 亚洲六月婷婷| 五月丁香亭亭操逼| 丁香五月天啪啪| 色爱综合网| 99精品国产在热久久| 激情综合色五月丁香| 婷婷香蕉香| 日本视频欧美观看免费| 9191avse| 99热在这里只有免费精品| 婷婷五月天亚洲激情戏精品| 五月综合六月婷婷| 天天操天天干天天日| 婷婷五月激情图片| 五月婷婷啪啪| 欧美A片在线视频免费观看| 色色婷婷色色| 婷婷久久综合久| 五月丁香婷婷激情| 夜夜躁爽日| 1024国产| 国产精产国品一二三在观看| AV在线免费观看不卡| 丁香五月婷婷亚洲色图| 久久草人妻| 五月天激情小说婷婷基地| 色五月激情五月| 26uuu欧美亚洲日韩| 色狠狠色噜噜AV天堂五区消防| 婷婷色综合av| 色婷婷亚洲婷婷| 99爱在线| 97操操操| 99久久精品网| 99超级碰碰| 成人精品视频99在线观看免费| 啪啪啪丁香五月| 五月丁香婷婷在线| 欧美性丁香色色五月天| 色噜噜狠噜噜视频| 久久丁香五月天| 亚洲成人精品三区| 我爱大香蕉| 伊人深爱综合| 婷婷午夜天| 七七色综合| 中文精品久久久久人妻不| 99re热免费观看视频精品| 婷婷五月天影院| 北条麻妃伊人 | 日本不卡一区二区三区| 999久久久国产精品| 婷婷亚洲激情在线观看视频 | 丁香婷婷五月天色播| 超碰高清在线| 综合福利网| 色婷婷手机在线| 久热只有精品| 亚洲精品又粗又大又爽A片| 久久婷视频| 国产片色| 天天日夜夜拍| 久草网大香视频| 第六色在线| 婷婷色在线| 成年视频免费观看| 97色色色色色色色色色色色色色| 在线观看的av| 9色小视频在线观看| 亚洲 精品 综合 精品| 97人人做| 五月婷婷亚洲色图| 亚洲小说欧美激情| 婷婷五月激情网| 六月婷久久| 婷婷五月丁香基地| 91919191919久久成人视频| 区区久久妻| 五月天婷婷操逼视频| 日本人妻久久| 99爱免费视频在线观看| www久| 99ri国产| 五月丁香婷草| 激情丁香五月天图片| 狠色狠色综合久久| 亚洲精品又粗又大又爽A片| 亚洲综合色婷婷| 色色激情五月| 欧美啪啪五月天| 日日舔夜夜操| 91se精品国产| 26uuuavcom| 国产亚洲成AV人片在线观黄桃| 色色综合成人网| 夜夜干夜夜操| 久久99久久99久久99人受| 人人操97| 99热综合在线| 97碰人人操| 国产免费av在线| 极品人妻VideOssS人妻| 超级久久久| 五月激情六月宗合| 伊人九九九久| 久久ab| 99久热精品在线| 能看的AV| 色婷婷先锋| 色伊人婷婷| 操B五月天| 永久精品| 五月激情丁香六月狠狠干| 色婷婷激情| 五月天婷婷伊人|