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

ARTICLE DETAIL

資訊詳情

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

KLayout macOS 源碼構(gòu)建完全指南:build4mac.py 從模塊組合、編譯部署到 QA 測(cè)試與 DMG 打包

KLayout macOS 源碼構(gòu)建完全指南:build4mac.py 從模塊組合、編譯部署到 QA 測(cè)試與 DMG 打包 硬件開發(fā)桌面應(yīng)用圖形學(xué)【免費(fèi)下載鏈接】klayoutKLayout Main Sources項(xiàng)目地址https://gitcode.com/gh_mirrors/kl/klayout點(diǎn)擊查看免費(fèi)下載本文以 KLayout 倉庫中macbuild目錄的官方構(gòu)建說明 macbuild/ReadMe.md 為主體完整覆蓋 KLayout 0.30.9 在 macOS 上的源碼構(gòu)建全流程如何選擇 Qt5/Qt6 與 Ruby/Python 模塊組合、如何調(diào)用build4mac.py完成編譯與部署、如何用macQAT.py運(yùn)行ut_runner單元 QA 測(cè)試、以及如何用makeDMG4mac.py制作可分發(fā)的 DMG 安裝包。讀完本文你能夠在一臺(tái) Intel x86_64 或 Apple Silicon 的 Mac 上獨(dú)立復(fù)現(xiàn) KLayout 的 macOS 原生構(gòu)建并理解輸出包目錄命名ST-/LW-/HW-/EX-背后的源碼級(jí)邏輯。1. 適用系統(tǒng)與構(gòu)建目標(biāo)macbuild目錄包含構(gòu)建 KLayout適用版本 0.30.9 及以上所需的全部 macOS 構(gòu)建文件。根據(jù) macbuild/ReadMe.md 的說明當(dāng)前支持的 macOS 版本為macOS 版本狀態(tài)Golden Gate (27.x)實(shí)驗(yàn)性在 M4 Mac Mini 上驗(yàn)證Tahoe (26.x)實(shí)驗(yàn)性在 M4 Mac Mini 上驗(yàn)證Sequoia (15.x)主開發(fā)環(huán)境Sonoma (14.x)實(shí)驗(yàn)性對(duì)更早的操作系統(tǒng)Ventura 13.7.8、Monterey 12.7.6、Big Sur 11.7.10、Catalina 10.15.7、Mojave 10.14、High Sierra 10.13、Sierra 10.12、El Capitan 10.11的構(gòu)建支持已經(jīng)停止也不再提供預(yù)構(gòu)建的 DMG 包。原文檔說明這些舊系統(tǒng)中 Ventura 與 Monterey 上構(gòu)建理論上仍可能成功但已不屬于官方維護(hù)范圍。這一點(diǎn)可以從源碼得到印證macbuild/build4mac.py 中的Get_Default_Config()通過platform.uname()解析 OS 主版本號(hào)并映射為平臺(tái)名27→GoldenGate、25→Tahoe、24→Sequoia、23→Sonoma、22→Ventura、21→Monterey而對(duì)非Darwin系統(tǒng)或未列出的發(fā)行版會(huì)直接打印錯(cuò)誤并sys.exit(1)。需要特別注意的架構(gòu)限制從源碼結(jié)構(gòu)看macbuild/build4mac.py 要求機(jī)器為x86_64若檢測(cè)到arm64Apple Silicon且平臺(tái)在支持列表中則會(huì)設(shè)置環(huán)境變量QMAKE_APPLE_DEVICE_ARCHSarm64以構(gòu)建原生 ARM64 版本。原文檔指出其主線目標(biāo)機(jī)器是Intel x86_64 macOS SequoiaApple Silicon 環(huán)境的詳細(xì)構(gòu)建流程雖然與 Intel Mac 基本相同但文檔未單獨(dú)展開。2. Qt 框架的選擇KLayout 的 macOS 構(gòu)建依賴 Qt 圖形框架。原文檔給出的三種來源默認(rèn)MacPorts 的 Qt5通常位于/opt/local/libexec/qt5/Homebrew 的 Qt6通常位于/usr/local/opt/qt6/Apple Silicon 上為/opt/homebrew/opt/qt6/Anaconda3 的 Qt6安裝配置稍復(fù)雜見第 7 節(jié) 6F 用例。macbuild/build4mac_env.py 是這些模塊路徑的集中定義文件。它為每個(gè) Qt 來源定義了qmake、macdeployqt與libdir三個(gè)關(guān)鍵路徑例如Qt5MacPorts { qmake : /opt/local/libexec/qt5/bin/qmake, deploy: /opt/local/libexec/qt5/bin/macdeployqt, libdir: /opt/local/libexec/qt5/lib } Qt6Brew { qmake : %s/opt/qt6/bin/qmake % DefaultHomebrewRoot, deploy: %s/opt/qt6/bin/macdeployqt % DefaultHomebrewRoot, libdir: %s/opt/qt6/lib % DefaultHomebrewRoot }其中 Homebrew 根目錄按架構(gòu)自動(dòng)區(qū)分x86_64機(jī)器取/usr/localarm64機(jī)器取/opt/homebrew見 macbuild/build4mac_env.py。對(duì)于 Anaconda3Qt5/Qt6 分別安裝在虛擬環(huán)境klayout-qt5/klayout-qt6下x86_64 位于/Applications/anaconda3/envs/arm64 位于/opt/anaconda3/envs/Qt6 環(huán)境使用qmake6與macdeployqt6可執(zhí)行文件。原文檔還給出兩點(diǎn)重要提示Qt6 遷移仍在進(jìn)行中可用但可能遇到構(gòu)建或運(yùn)行時(shí)錯(cuò)誤構(gòu)建 KLayout 0.29.0 且使用 Homebrew 環(huán)境時(shí)必須使用 Qt6 6.7.0以解決上游報(bào)告的一個(gè) Qt5 編譯問題原文檔引用了上游 issue #1599。3. 腳本語言支持Ruby 與 Python 的模塊組合KLayout 支持 Ruby 與 Python 兩種對(duì)象腳本語言構(gòu)建時(shí)通過build4mac.py的組合參數(shù)決定綁定哪種語言、以及語言解釋器來自哪個(gè)軟件包管理器。macbuild/build4mac_env.py 按以下維度組織字典Rubynil不綁定/Sys各 macOS 版本系統(tǒng)自帶的 Ruby 2.6解釋器位于/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby頭文件與libruby.tbd取自 Xcode SDK 或 Command Line Tools SDK/MP34MacPorts Ruby 3.4/opt/local/bin/ruby3.4/HB34Homebrew Ruby 3.4{Homebrew 根}/opt/ruby3.4/Ana3Anaconda3 環(huán)境內(nèi)的 Ruby 3.4Pythonnil/Sys系統(tǒng) Command Line Tools 自帶的 Python 3.9框架位于/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework//MP314、MP313MacPorts Python 3.14/3.13位于/opt/local/Library/Frameworks/Python.framework//HB314、HB313、HB311Homebrew 對(duì)應(yīng)版本/HBAuto自動(dòng)探測(cè) Homebrew 中最新的 Python 3.x/Ana3Anaconda3 環(huán)境內(nèi) Python。其中HBAuto的實(shí)現(xiàn)值得注意macbuild/build4mac_env.py 用正則掃描{Homebrew 根}/opt/python*/Frameworks/Python.framework按版本號(hào)排序取最大者若系統(tǒng)完全沒有 Homebrew Python會(huì)打印 WARNING 并禁用該選項(xiàng)。每個(gè)模塊字典統(tǒng)一包含exe解釋器、inc頭文件目錄、lib動(dòng)態(tài)庫三項(xiàng)供后續(xù) qmake/make 階段生成正確的編譯鏈接參數(shù)。4. 構(gòu)建前置條件按照原文檔第 4 節(jié)構(gòu)建前需要準(zhǔn)備與目標(biāo) macOS 匹配的最新 Xcode 與 Command Line ToolsMacPorts 的 Qt5或 Homebrew / Anaconda3 的 Qt6來自 MacPorts、Homebrew 或 Anaconda3 的libgit2可選MacPorts、Homebrew 或 Anaconda3 的 Ruby 與 Python 包。對(duì)于 Ruby/Python 的具體版本匹配要求原文檔要求參考 macbuild/build4mac_env.py 中各字典項(xiàng)注釋里列出的安裝命令如sudo port install ruby34、brew install python3.14、conda install -y --override-channels -c conda-forge ruby3.4.7等。5. build4mac.py 命令行選項(xiàng)詳解macbuild/build4mac.py 是 macOS 構(gòu)建的頂層 Python 腳本操作系統(tǒng)類型會(huì)被自動(dòng)檢測(cè)-q選項(xiàng)的默認(rèn)值按平臺(tái)生成GoldenGate/Tahoe/Sequoia/Sonoma 上默認(rèn)組合為qt5macportssyssys。完整選項(xiàng)表如下繼承自原文檔第 5 節(jié) Usage of build4mac.py for building KLayout 0.30.9 or later on different Apple macOS platforms. $ [python] ./build4mac.py option argument : descriptions (refer to macbuild/build4mac_env.py for details) | default value ------------------------------------------------------------------------------------------------------- [-q|--qt type] : case-insensitive type[Qt5MacPorts, Qt5Brew, Qt5Ana3, | qt5macports : Qt6MacPorts, Qt6Brew, Qt6Ana3] | : Qt5MacPorts: use Qt5 from MacPorts | : Qt5Brew: use Qt5 from Homebrew | : Qt5Ana3: use Qt5 from Anaconda3 | : Qt6MacPorts: use Qt6 from MacPorts (*) | : Qt6Brew: use Qt6 from Homebrew (*) | : Qt6Ana3: use Qt6 from Anaconda3 (*) | : (*) migration to Qt6 is ongoing | [-r|--ruby type] : case-insensitive type[nil, Sys, MP34, HB34, Ana3] | sys : nil: dont bind Ruby | : Sys: use [GoldenGate|Tahoe|Sequoia|Sonoma]-bundled Ruby 2.6 | : MP34: use Ruby 3.4 from MacPorts | : HB34: use Ruby 3.4 from Homebrew | : Ana3: use Ruby 3.4 from Anaconda3 | [-p|--python type] : case-insensitive type[nil, Sys, MP314, HB314, Ana3, | sys : MP313, HB313, | : HB311, HBAuto] | : nil: dont bind Python | : Sys: use [GoldenGate|Tahoe|Sequoia|Sonoma]-bundled Python 3.9 | : MP314: use Python 3.14 from MacPorts | : HB314: use Python 3.14 from Homebrew | : Ana3: use Python 3.14 from Anaconda3 | : MP313: use Python 3.13 from MacPorts | : HB313: use Python 3.13 from Homebrew | : HB311: use Python 3.11 from Homebrew () | : () required to provide the legacy pip in HW-*.dmg | : HBAuto: use the latest Python 3.x auto-detected from Homebrew | [-P|--buildPymod] : build and deploy Pymod (*.whl) for LW-*.dmg | disabled [-n|--noqtbinding] : dont create Qt bindings for ruby scripts | disabled [-u|--noqtuitools] : dont include uitools in Qt binding | disabled [-s|--no32bitcoord] : dont use short (32bit) coordinates; use long (64bit) instead | disabled [-g|--nolibgit2] : dont include libgit2 for Git package support | disabled [-m|--make option] : option passed to make | --jobs4 [-d|--debug] : enable debug mode build; AddressSanitizer (ASAN) is linked | disabled [-c|--checkcom] : check command-line and exit without building | disabled [-y|--deploy] : deploy executables and dylibs, including Qts Frameworks | disabled [-Y|--DEPLOY] : deploy executables and dylibs for those who built KLayout | disabled : from the source code and use the tools in the same machine | : ! After confirmation of the successful build of klayout.app, | : rerun this script with BOTH: | : 1) the same options used for building AND | : 2) -y|--deploy OR -Y|--DEPLOY | : optionally with [-v|--verbose 0-3] | [-v|--verbose 0-3] : verbose level of macdeployqt (effective with -y only) | 1 : 0 no output, 1 error/warning (default), | : 2 normal, 3 debug | [-?|--?] : print this usage and exit; in zsh, quote like -? or --? | disabled結(jié)合源碼可以補(bǔ)充幾點(diǎn)文檔未展開的實(shí)現(xiàn)細(xì)節(jié)選項(xiàng)解析-q/-r/-p的值經(jīng)大寫化后在候選字典中查找大小寫不敏感非法取值會(huì)打印錯(cuò)誤并終止見 macbuild/build4mac.py。-y與-Y互斥兩者同時(shí)傳入會(huì)報(bào)錯(cuò)退出-yfull deploy會(huì)內(nèi)嵌 Qt及視組合內(nèi)嵌 PythonFramework-Ypartial deploy只部署可執(zhí)行文件與 dylib不內(nèi)嵌 Qt[5|6]/Ruby/Python因此適用于在本機(jī)源碼構(gòu)建、本機(jī)直接使用的場(chǎng)景。版本號(hào)來源KLayout 版本從項(xiàng)目根目錄的version.sh讀取見 macbuild/build4mac.py 的GetKLayoutVersionFrom(./version.sh)最終參與包目錄命名。-m選項(xiàng)默認(rèn)--jobs4直接透?jìng)鹘omake-d開啟 debug 模式并鏈接 AddressSanitizer。輸出包目錄命名規(guī)則源碼級(jí)解釋構(gòu)建/部署完成后產(chǎn)物位于一個(gè)形如ST-qt5MP.pkg.macos-Sequoia-C32-release-RsysPsys的目錄。目錄名由 macbuild/build4mac.py 按模板%s%s.pkg.macos-%s-%s-%s-%s % (PackagePrefix, qt, Platform, coordSize, mode, ruby_python)生成各段含義目錄名片段含義ST-標(biāo)準(zhǔn)包standard內(nèi)嵌 Qt使用系統(tǒng)自帶 Ruby 2.6 與 Python 3.9LW-輕量包lightweight不內(nèi)嵌 Qt[5|6]、Ruby、Python可加--buildPymod附帶*.whlHW-重量包heavyweight內(nèi)嵌 Qt 與 Homebrew Python 3.11 的 FrameworksEX-特殊組合exceptional不落入上述三類的模塊組合qt5MP/qt5Brew/qt5Ana3/qt6MP/qt6Brew/qt6Ana3所用 Qt 來源Sequoia等macOS 平臺(tái)名C32/C64坐標(biāo)表示為 32 位整數(shù)默認(rèn)/ 64 位整數(shù)-s選項(xiàng)release/debug構(gòu)建模式-d選項(xiàng)RsysPsys等Ruby 與 Python 模塊標(biāo)識(shí)如Rmp34Pmp314、Rhb34Phb314、RsysPhb311、Rana3Pana3從源碼結(jié)構(gòu)看前綴的判定邏輯集中在 macbuild/build4mac.py-Y一律LW--y時(shí)若 Ruby 與 Python 均為系統(tǒng)自帶則為ST-EmbedQtTrue若 Python 為 Homebrew 3.11或 HBAuto 恰好解析到 3.11則為HW-EmbedQtTrue、EmbedPython3True其余為EX-且HW-包要求 Qt 來自 MacPorts 或 HomebrewAnaconda3 的 Qt 不允許內(nèi)嵌不滿足時(shí)直接退出。6. 實(shí)戰(zhàn)用例6A6H以下各用例中的實(shí)際文件名取自 macOS Sequoia 環(huán)境在不同 macOS 上平臺(tái)名等片段會(huì)相應(yīng)變化。所有構(gòu)建用例的共同流程為*安裝依賴 → 調(diào)用build4mac.py構(gòu)建約一小時(shí)→ 用相同構(gòu)建參數(shù)加-y/-Y重新運(yùn)行以部署klayout.app內(nèi)的可執(zhí)行文件與 dylibbuddy 命令行工具 strm一并部署到klayout.app/Contents/Buddy/→ 將klayout.app拷貝到/Applications**。6A. 標(biāo)準(zhǔn)構(gòu)建系統(tǒng)自帶 Ruby/Python MacPorts Qt5安裝 MacPorts 后安裝 Qt5 與 libgit2$ sudo port install coreutils $ sudo port install findutils $ sudo port install qt5 $ sudo port install libgit2確認(rèn)系統(tǒng)自帶 Python 存在/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/*原文檔說明撰寫時(shí)該 Python 版本為3.9.6與源碼字典PythonSequoia指向的Python3.framework/Versions/3.9一致。調(diào)用構(gòu)建腳本這些選項(xiàng)在 Tahoe/Sequoia/Sonoma 上即默認(rèn)值$ cd /where/build.sh/exists $ ./build4mac.py -q qt5macports -r sys -p sys確認(rèn)構(gòu)建成功約一小時(shí)取決于機(jī)器配置。用相同選項(xiàng)加-y重新運(yùn)行將可執(zhí)行文件與庫部署到klayout.app內(nèi)$ ./build4mac.py -q qt5macports -r sys -p sys -y產(chǎn)物位于ST-qt5MP.pkg.macos-Sequoia-C32-release-RsysPsys目錄ST-標(biāo)準(zhǔn)包qt5MPMacPorts Qt5C3232 位坐標(biāo)RsysPsys系統(tǒng) Ruby 2.6 系統(tǒng) Python 3.9。 4. 將生成的klayout.app拷貝/移動(dòng)到/Applications完成安裝。6B. 全 MacPorts 構(gòu)建MacPorts Ruby 3.4 MacPorts Python 3.14安裝依賴$ sudo port install coreutils $ sudo port install findutils $ sudo port install qt5 $ sudo port install ruby34 $ sudo port install python314 $ sudo port install py314-pip $ sudo port install libgit2構(gòu)建$ cd /where/build.sh/exists $ ./build4mac.py -q qt5macports -r mp34 -p mp314確認(rèn)構(gòu)建成功。相同選項(xiàng)加-Y重新運(yùn)行以部署$ ./build4mac.py -q qt5macports -r mp34 -p mp314 -Y若在步驟 1 與步驟 3 都使用--buildPymod選項(xiàng)KLayout 獨(dú)立 Python 包*.whl將被構(gòu)建并部署到klayout.app/Contents/pymod-dist/。產(chǎn)物位于LW-qt5MP.pkg.macos-Sequoia-C32-release-Rmp34Pmp314目錄LW-輕量包Rmp34Pmp314MacPorts Ruby 3.4 MacPorts Python 3.14。 4. 將klayout.app安裝到/Applications。6C. 全 Homebrew 構(gòu)建Homebrew Ruby 3.4 Homebrew Python 3.14注意構(gòu)建 KLayout 0.29.0 需要 Qt6 6.7.0以解決上游 Qt5 編譯問題issue #1599。安裝依賴并運(yùn)行 Homebrew Python 目錄結(jié)構(gòu)整理工具 macbuild/python3HB.py該工具在{Homebrew 根}/opt/pythonver/lib/下建立Python.framework - ../Frameworks/Python.framework/的標(biāo)準(zhǔn)化符號(hào)鏈接結(jié)構(gòu)支持-v 3.11/3.12/3.13/3.14$ brew install qt6 $ brew install ruby3.4 $ brew install python3.14 $ brew install libgit2 $ cd /where/build.sh/exists $ cd macbuild $ ./python3HB.py -v 3.14構(gòu)建$ cd /where/build.sh/exists $ ./build4mac.py -q qt6brew -r hb34 -p hb314確認(rèn)構(gòu)建成功。相同選項(xiàng)加-Y部署$ ./build4mac.py -q qt6brew -r hb34 -p hb314 -Y產(chǎn)物位于LW-qt6Brew.pkg.macos-Sequoia-C32-release-Rhb34Phb314目錄。 4. 將klayout.app安裝到/Applications。警告Homebrew Python 3.12 不再提供傳統(tǒng)pip命令直接使用會(huì)報(bào)error: externally-managed-environment。按照 Homebrew 的建議應(yīng)使用虛擬環(huán)境詳見Resources/script-bundle-B.zip內(nèi)的HomebrewUser-ReadMeFirst.txt。6D. 部分 Homebrew 構(gòu)建系統(tǒng) Ruby Homebrew Python 3.11注意構(gòu)建 KLayout 0.29.0 需要 Qt6 6.7.0同 6C 的原因。安裝依賴$ brew install qt6 $ brew install python3.11 $ brew install libgit2 $ cd /where/build.sh/exists $ cd macbuild $ ./python3HB.py -v 3.11構(gòu)建$ cd /where/build.sh/exists $ ./build4mac.py -q qt6brew -r sys -p hb311確認(rèn)構(gòu)建成功。相同選項(xiàng)加-y重新運(yùn)行將可執(zhí)行文件與庫含 Qt 與 Python 兩套 Frameworks部署到klayout.app內(nèi)strm* 工具同樣部署到klayout.app/Contents/Buddy/$ ./build4mac.py -q qt6brew -r sys -p hb311 -y產(chǎn)物位于HW-qt6Brew.pkg.macos-Sequoia-C32-release-RsysPhb311目錄HW-重量包因同時(shí)內(nèi)嵌 Qt6 與 Python FrameworksRsysPhb311系統(tǒng) Ruby Homebrew Python 3.11。 4. 將klayout.app安裝到/Applications。重要目前尚不支持部署 Homebrew Ruby。因此若計(jì)劃使用-y選項(xiàng)進(jìn)行完整部署構(gòu)建時(shí)必須使用-r sys。6E. 異構(gòu)組合MacPorts Qt5 系統(tǒng) Ruby Homebrew Python 3.11注意這是構(gòu)建常用 HW*.dmg 包的另一種實(shí)用方案。分別安裝兩套依賴# MacPorts 側(cè) $ sudo port install coreutils $ sudo port install findutils $ sudo port install qt5 $ sudo port install libgit2 # Homebrew 側(cè) $ brew install python3.11 $ cd /where/build.sh/exists $ cd macbuild $ ./python3HB.py -v 3.11構(gòu)建$ cd /where/build.sh/exists $ ./build4mac.py -q qt5macports -r sys -p hb311確認(rèn)構(gòu)建成功。相同選項(xiàng)加-y部署$ ./build4mac.py -q qt5macports -r sys -p hb311 -y產(chǎn)物位于HW-qt5MP.pkg.macos-Sequoia-C32-release-RsysPhb311目錄HW-重量包內(nèi)嵌 Qt5 與 Python Frameworks。 4. 將klayout.app安裝到/Applications。6F. 全 Anaconda3 構(gòu)建Anaconda3 Ruby 3.4 Anaconda3 Python 3.13若 Anaconda3 安裝在$HOME/opt/anaconda3/或其他位置需先建立符號(hào)鏈接/Applications/anaconda3/ - $HOME/opt/anaconda3/然后按下述步驟安裝以 Intel x86_64 的Anaconda3-2025.06-0-MacOSX-x86_64.pkg為例裝到/Applications后創(chuàng)建新虛擬環(huán)境1) Create a new env klayout-qt6 (with stable solver channels) switch solver to libmamba for faster/more stable resolves $ conda install -n base -y conda-libmamba-solver $ conda config --set solver libmamba Create the environment (on this x86_64 machine it will pull osx-64 builds) $ conda create -n klayout-qt6 python3.13 -y $ conda activate klayout-qt6 In this env only, prefer conda-forge strictly (to avoid mixing) $ conda config --env --add channels conda-forge $ conda config --env --add channels defaults $ conda config --env --set channel_priority strict 2) Install Qt6 (qt6-main and qt6-multimedia) only from conda-forge Qt6 core (builds that typically include Designer/UiTools) $ conda install -y --override-channels -c conda-forge qt6-main6.9.3 $ conda install -y --override-channels -c conda-forge qt6-multimedia6.9.3 3) Additionally, install Ruby and libgit2 only from conda-forge $ conda install -y --override-channels -c conda-forge ruby3.4.7 $ conda install -y --override-channels -c conda-forge libgit21.9.1上述 conda-forge 版本約束與 macbuild/build4mac_env.py 注釋中給出的推薦完全一致qt6-main6.9.3、qt6-multimedia6.9.3、ruby3.4.7、libgit21.9.1且腳本期望的解釋器路徑即環(huán)境內(nèi)的bin/python3.13與include/python3.13見 macbuild/build4mac_env.py 的PythonAnaconda3V6。構(gòu)建$ cd /where/build.sh/exists $ ./build4mac.py -q qt6ana3 -r ana3 -p ana3確認(rèn)構(gòu)建成功。相同選項(xiàng)加-Y部署若步驟 1 與 3 均使用--buildPymod*.whl將部署到klayout.app/Contents/pymod-dist/$ ./build4mac.py -q qt6ana3 -r ana3 -p ana3 -Y產(chǎn)物位于LW-qt6Ana3.pkg.macos-Sequoia-C32-release-Rana3Pana3目錄Rana3Pana3Anaconda3 Ruby 3.4 Anaconda3 Python 3.13。 4. 將klayout.app安裝到/Applications。 5. 由于解釋器位于 conda 虛擬環(huán)境中還需要?jiǎng)?chuàng)建一個(gè) Automator 包裝應(yīng)用Launcher來啟動(dòng) KLayout詳見Resources/script-bundle-A.zip內(nèi)的Anaconda3User-ReadMeFirst.txt。6G. 其他組合除 6A6F 之外邏輯上還可以選擇其他模塊組合包括nil。選擇這類非常規(guī)組合時(shí)產(chǎn)物目錄將以EX-exceptional為前綴——這與 macbuild/build4mac.py 中的PackagePrefix EX-分支吻合。6H. 通過代理服務(wù)器使用 git 版 Salt Package Manager如果通過代理服務(wù)器使用基于 git 的 Salt Package Manager需要設(shè)置KLAYOUT_GIT_HTTP_PROXY環(huán)境變量$ export KLAYOUT_GIT_HTTP_PROXYhttp://111.222.333.444:5678代理服務(wù)器的實(shí)際 IP 與端口請(qǐng)向系統(tǒng)管理員索取。原文檔強(qiáng)烈建議將此設(shè)置放入啟動(dòng)用的 service script bundle 中示例腳本*.app.Bash可在 macbuild/Resources/script-bundle-A.zip、macbuild/Resources/script-bundle-B.zip、macbuild/Resources/script-bundle-H.zip、macbuild/Resources/script-bundle-P.zip、macbuild/Resources/script-bundle-S.zip 中找到。7. QA 測(cè)試用 macQAT.py 驅(qū)動(dòng) ut_runner構(gòu)建完成后可選地進(jìn)行 QA 測(cè)試。macOS 環(huán)境下的 QA 工作目錄為[ST|LW|HB]-build_directory.macQAT目錄中隨附macQAT.py它是ut_runner可執(zhí)行文件的包裝腳本。操作步驟繼承自原文檔第 7 節(jié)進(jìn)入 QA 工作目錄cd [ST|LW|HB]-build_directory.macQAT打印ut_runner用法./macQAT.py -u僅啟動(dòng) KLayout 主 GUI 窗口./macQAT.py -k正常運(yùn)行ut_runner./macQAT.py -r如有需要可用-x test選項(xiàng)跳過個(gè)別出錯(cuò)測(cè)試可多次使用支持逗號(hào)分隔的測(cè)試名列表。從 macbuild/macQAT.py 源碼可以看出該包裝腳本的完整能力與工作原理環(huán)境變量注入ExportEnvVariablesmacbuild/macQAT.pyTESTSRC..測(cè)試源目錄、TESTTMPQATest_Git短SHA1_時(shí)間戳_目錄名測(cè)試臨時(shí)目錄在 Darwin 上另設(shè)置DYLD_LIBRARY_PATH指向.、db_plugins、lay_plugins、pymod、MallocNanoZone0以及一組ASAN_OPTIONS關(guān)閉 leak detection、symbolize 等這解釋了QA 所需的環(huán)境變量由macQAT.py設(shè)置這一說明-u實(shí)際執(zhí)行./ut_runner --help-all-k實(shí)際執(zhí)行./klayout.app/Contents/MacOS/klayout-r默認(rèn)繼續(xù)運(yùn)行對(duì)應(yīng)ut_runner的-c-s/--stop可切換為遇錯(cuò)即停運(yùn)行日志寫入QATest_*.log支持--dryrun僅打印命令行單元測(cè)試套件本身位于 src/unit_tests 與各模塊的unit_tests子目錄如 src/db/unit_testsut_runner由 src/klayout.pro 構(gòu)建體系生成。8. 制作 DMG 安裝包使用另一個(gè) Python 腳本 macbuild/makeDMG4mac.py 可以制作 DMG 安裝包。前提該目錄是 6A6F 中以-y/-Y選項(xiàng)運(yùn)行build4mac.py生成的產(chǎn)物目錄。若尚不存在從父目錄即build.sh所在目錄為腳本建立符號(hào)鏈接makeDMG4mac.py - macbuild/makeDMG4mac.py帶-p指定包目錄與-m制作壓縮 DMG選項(xiàng)調(diào)用$ cd /where/build.sh/exists $ ./makeDMG4mac.py -p LW-qt5MP.pkg.macos-Sequoia-C32-release-Rmp34Pmp314 -m該命令生成兩個(gè)文件LW-klayout-0.30.9-macOS-Sequoia-C32-1-qt5MP-Rmp34Pmp314.dmg—— 主 DMG 文件LW-klayout-0.30.9-macOS-Sequoia-C32-1-qt5MP-Rmp34Pmp314.dmg.md5—— MD5 值文本文件。DMG 文件名中的1是 DMG 序列號(hào)可通過-s|--serial修改默認(rèn) 1。從 macbuild/makeDMG4mac.py 的 usage 可知腳本還支持-c/--clean清理工作目錄與-m互斥、-b|--bundle強(qiáng)制指定 DMG 內(nèi)的 bundle 名、-u/--unsafe跳過部分檢查慎用、-t|--targetdmg指定輸出文件名其實(shí)現(xiàn)基于create-dmg的衍生工作DMG 背景圖與卷圖標(biāo)取自 macbuild/Resources 中的 PNG 與.icns資源AppleScript 模板為 macbuild/Resources/template-KLayoutDMG.applescript。9. 已知問題與維護(hù)要點(diǎn)原文檔Known issues一節(jié)指出由于構(gòu)建腳本假定了一些特定版本的非 OS 標(biāo)準(zhǔn) Ruby/Python更新 Homebrew、MacPorts 或 Anaconda3 后可能引發(fā)構(gòu)建與鏈接錯(cuò)誤此時(shí)需要相應(yīng)更新 macbuild/build4mac_env.py 中的字典內(nèi)容如 Ruby 3.4 的 include 目錄從ruby-3.4.0變?yōu)樾掳姹咎?hào)、libruby.3.4.dylib路徑變化、Homebrew Python 框架路徑等。換言之build4mac_env.py是版本錨點(diǎn)文件第三方軟件包管理器升級(jí)后應(yīng)優(yōu)先核對(duì)該文件各字典項(xiàng)與實(shí)際安裝路徑是否一致。此外結(jié)合源碼還可以得到兩條實(shí)用結(jié)論選擇nil/非系統(tǒng)語言組合時(shí)NonOSStdLang標(biāo)志會(huì)被置位-y完整部署的可用性取決于組合類型如 HW- 包強(qiáng)制要求 Homebrew python3.11見 macbuild/build4mac.py需要部署的 KLayout 可執(zhí)行文件清單klayout及 11 個(gè) buddy 工具strm2cif、strm2dxf、strm2gds、strm2gdstxt、strm2lstr、strm2mag、strm2oas、strm2txt、strmclip、strmcmp、strmrun、strmxor定義在 macbuild/build4mac_env.py 的KLayoutExecs與原文檔中buddy 命令行工具strm*部署到klayout.app/Contents/Buddy/的說明對(duì)應(yīng)。10. 小結(jié)KLayout 的 macOS 構(gòu)建體系圍繞三個(gè)腳本協(xié)作build4mac.py構(gòu)建與部署模塊組合由build4mac_env.py的字典驅(qū)動(dòng)、macQAT.pyut_runnerQA 包裝器、makeDMG4mac.pyDMG 打包輔以python3HB.py整理 Homebrew Python 的框架目錄結(jié)構(gòu)。默認(rèn)路徑是 MacPorts Qt5 系統(tǒng) Ruby 2.6 系統(tǒng) Python 3.9 的ST-標(biāo)準(zhǔn)包追求輕量分發(fā)可選LW-組合需要自帶解釋器分發(fā)的 HW*.dmg 則選擇 Homebrew python3.11 方案。對(duì)于 Qt6 或 Python 3.13/3.14 等新組合務(wù)必以 macbuild/build4mac_env.py 中字典項(xiàng)注釋標(biāo)注的 conda-forge/MacPorts/Homebrew 具體版本號(hào)為準(zhǔn)以規(guī)避軟件包管理器升級(jí)帶來的構(gòu)建鏈接問題。贊分享硬件開發(fā)桌面應(yīng)用圖形學(xué)【免費(fèi)下載鏈接】klayoutKLayout Main Sources項(xiàng)目地址https://gitcode.com/gh_mirrors/kl/klayout點(diǎn)擊查看免費(fèi)下載相關(guān)推薦3 步裝好 eSearch跨平臺(tái)屏幕截屏與離線 OCR 工具快速上手指南3 步裝好 eSearch跨平臺(tái)屏幕截屏與離線 OCR 工具快速上手指南 eSearch 是一款覆蓋 Windows、Linux 與 macOS 的跨平臺(tái)屏幕桌面應(yīng)用OCR屏幕錄制視頻處理圖像處理NuvioDesktop從源碼構(gòu)建到發(fā)布Gradle打包MSI、DMG、DEB與Flatpak完整部署指南NuvioDesktop從源碼構(gòu)建到發(fā)布Gradle打包MSI、DMG、DEB與Flatpak完整部署指南 NuvioDesktop 是一個(gè)免費(fèi)開源的跨平臺(tái)媒RStudio macOS 源碼構(gòu)建全指南依賴安裝、Universal 雙架構(gòu)編譯與 DMG 打包實(shí)戰(zhàn)RStudio macOS 源碼構(gòu)建全指南依賴安裝、Universal 雙架構(gòu)編譯與 DMG 打包實(shí)戰(zhàn) 本文是一份面向開發(fā)者的 RStudiomacOS 平開發(fā)工具后端創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
九九热区一区二区三区| 久久人妻精品| 色一情一乱一乱一区91Av| 99精品在线| 热99精品视频观看| 日韩黄色电影| 99ri视频在线观看| 人人摸人人操人人爱| 99精品视频在线观看| 激情六月下句是什么| 婷婷丁香成人色综合| 亚洲在线资源| 婷婷五月在线视频| 天天透天天爱| 婷婷激情视频欧美视频自拍视频欧美剧 | 日韩99视频| 99热这里只有精品在线免费| 婷婷丁香五月亚洲欧美| 超碰免费99| 中国无码av| 色域五月婷婷丁香| caop在线视频| 啊V视频在线观看| 99只有这里是精品| 国产毛片欧美毛片久久久| 九九九九九九九热| 六月婷伊人| 婷婷中文无码| 五月婷婷综合激情网| 男人的天堂在线婷婷| 婷婷色五月天在线| 99热8| 性综合网| 色色色婷婷| 久热播这里只有精品| 五月激情丁香久久综合网| 色99在线看| 一级视频网址| 婷婷综合日本| 色综合久久综合中文综合网| 日日噜噜夜夜狠狠久久丁香六月| 91性高潮久久久久久久久| 综合婷| 超91热| 免费观看18视频网站| 五月婷婷天堂| 4399在线日本A片| 亚洲人人操| 67194中文在线| 大伊香蕉精品视频在线| 婷色天堂| ′久久99一| AV在线二十六页| 91九九九九九九| 玖玖99婷婷| 亚洲综合五月天婷婷| www.色五月| 中文字幕人妻熟女在线| 九九久久9 9在线观看| 男人的天堂婷婷色五月| 九伊人网| 天天操天天日天天爱| 91黄操| 亚洲人妻AV| 爱久综合| 激情五月婷婷综合视频| 夜夜撸夜夜骑| 97人人射| www:99热视频| 丁香五月网站| 停停五月丁香| 丁香婷婷基地| 色综合婷婷99| 久久9视频| se99高清无码| 色欧洲| 超碰人人操| 色中色综合| 在线只有精品| 非洲一级AV| 国产成人+综合亚洲+天堂| 无码地址| 桃色五月天| 激情婷婷久久| 国产精品成av人在线视午夜片| se色综合网| 六月婷婷五月天| 人妻久久人妻久久第一区| 1区2区视频| 九九综合色| 色播激情婷婷| 亚洲夜五月| 99视频这里只有久久精品| 色综合色| 五月天激情亚洲| 狠狠久久婷五月| 亚洲视频在线观看99| 久久欧洲综合网| 99亚洲视频| 99热精品在线| 色色色欧美| 久久视频九九视频| 五月天精品| 日韩成人无码片| 色爱综合网| 色丁香久久久| 99精品在| 婷婷五月六月| 五月天久久www| 秋霞电影理论| 色五月激情五月| 欧美日韩国产一区二区| 亚洲、热| 综合欧美五月婷婷| 六月婷五月丁香| 亚洲免费99| 久久一级AV| 色碰碰视频| 激情五月婷在线精品| 97久久超碰| 色五月在线综合| 天天日天天做天天舔| 五月激情五月婷婷五月天在线| 丁香五月性| 大香伊人婷婷影院| 开心激情五月天网| 久久狠婷婷| 六月丁香好婷婷| 丁香五月性| 五月婷婷,狠狠操| 伍月婷丁香花全集| 中文字幕丰满乱孑伦无码专区 | 综合色五月| 亚洲综合九九| 日本婷婷综合精品| 免费观看全黄做爰的视频| 九九热视频99| 色日本五月天| 婷婷5月色| 色色吧综合| 日韩色色一区| 大香蕉五月丁香| 9月色婷婷| 欧美成人性爱网| seuuu婷婷| 去干网最新版本亚洲版| 五月丁香狠狠爱婷婷综合| 亚洲avjiujiur91| 99热97| 婷婷五月天色色| 亚洲无码成人| 综合欧美五月婷婷| 婷婷丁香18| 欧洲亚洲欧洲99久久| 免费观看全黄做爰的视频| 激情深愛五月視頻| 五月丁小婷婷激情四射| 狠狠色大香蕉| 色婷婷五月天天天天天| 五月成人丁香av91| 超碰高清在线| 色色色在线免费视频| 乱精品一区字幕二区| 91操色| 99久久综合| 激情五月天综合图片小说网站| 成人短视频在线观看| 丁香色情五月天| 六月丁香婷婷视频综合在线观看| 午夜一区| 婷婷激情视频欧美视频自拍视频欧美剧| 啪啪色激情五月天| 久热99| 色噜噜,噜噜色| 国产成人精品亚洲线观看| 伊人五月人妻精品| 色五月婷婷91| 亚洲 在线 另类| 亚洲最大五月六月丁香婷婷| 大香蕉五月丁香| 婷婷六月色| 婷婷五月天视频小说| 九色综合网| 婷婷五月天精品| 亚洲色人妻| 久久香蕉网| 提提热五月天婷婷| 激情五月丁香社区| 婷婷久久爱| 九九99热| 好激情在线综合网| 五月丁香亚洲校园欧美| 五月丁香A片| 五月婷婷六月丁香| 久久aaaa片一区二区| 久婷婷五月天影院| 久在热99| 午夜少妇在线观看视频| 在线观看免费狠狠色丁香香综合| www婷婷色情网| 吊色AV男人的天堂| 婷婷情色五月| 欧美成人精品A片免费一区99| 五月婷婷激情综合拍| 99网址在线看| 九九热在线视频观看免费10| 色135综合网| 五月天另类激情在线| 99爱这里只有精品| 丁香六月开心| 激情黄色小说色五月| 久久色大香蕉| 99免费在线视频| 激情五月五月婷婷| 色色网五月激情| 色婷婷五月天激情| 六月婷婷综合| 99碰超| 操逼综合激情网| 天天色播| 日日操夜夜爽| 九九热在线99| 色色色色色色色色综合网| 可以免费看AV网站| 丁香五月亚洲综合| 中国AV性爱观看| 久久女婷| 欧美激情丁香五月| 婷婷五月天成人网| 五月天色色色| 99久久亚洲精品视频| 丁香婷婷五月人体| 激情婷婷丁香色五月| CHINESE熟女老女人HD视频| 99热| 91人人操人人爱| 丁香六月色婷婷综合| 99热国内| 五月丁香六月婷婷不卡免费无码 | 五月婷婷无码专区| 婷婷激情丁五月| 九九激情网| 91操网| 六月婷婷AV| 亚洲国产色婷婷| yw国产AV| 欧美色偷拍| 丁香六月婷婷激情| 七月激情六月婷婷综合在线播放| 性爱七区| 亚洲六月婷婷| 丁香婷婷五月天网站| 99五月丁香丁| 操逼123网| 色五月天综合| 就去涩涩丁香五月天| 五月丁香天天| 激情五月综合网最新 | 玖玖资源站中文| 有哪些A片网站| 深爱激情五月婷婷| 婷婷欧美综合| 9l视频自拍9l九色成人| 乱乱av| 男人大jjc女人免费视频| 婷婷99视频在线| 激情婷婷丁香| 欧美激情中文字幕| 丁香六月婷婷综合激情欧美| 五月丁香六月色婷婷| 五月丁香六月情婷婷久久| 色婷婷香蕉丁丁网| 亚洲啪啪网| 丁香五月天网站| 九九av| 91chinese在线| 大陆极品少妇内射AAAAAA| 人妻熟人中文字幕一区二区| 99精品视频推荐| 综合另类视频| AA片在线观看视频在线播放| 秋霞丝袜啪啪啪| 色婷婷瘦婷婷日韩| 激情五月深爱五月观看| 欧美婷婷五月| 99久久久免费| 另类五月激情| 欧洲不卡视频| 丁香六月无码| 天天玩夜夜操| 91日综合欧美| 亚州精品色情在线观看| 99热这里全都是精品| 99热都是精品| 色综合色色色色色色综合| 五月停停色| 丁香五月天天日| 天天天天爽爽天干| 超碰在线国产| 超碰在线99热| 激情综合六月| 五月婷婷激情综合| 超碰猛烈的性猛交| 婷婷综合五月色播| www.夜夜| 欧美综合五月丁香六月婷| 99热骚货| 九九在线精点品| 婷婷久久婷婷色五月| 2017狠狠干| 91婷婷五月天综合视频| 久久综合丁香激情五月| 亚洲AV第二区国产精品| 黄色笑话深爱激情网丁香五月婷婷啪啪啪啪啪| 五月丁香亚洲综合| 婷婷六月视频| 欧美婷婷综合| 一本婷婷丁香久久| 99热这里只有精品亚洲| 狠狠丁香| 久久99网址| 秋霞影音91人妻久久| 亚洲av成人在线| 激情久久伊人| 激情图片婷婷| www99热| 五月婷婷综合社区| 丁香五月亚综合图片| 99免费在线视频| 超碰在线9| 99re思思热久久| 亚洲精品色| 婷婷丁香97| 五月丁香黄色视频| 韩国不卡AC视频| 婷婷色播色五月五色五月天色妇| 天天射综合网站| 毛片蕉地一二| 99热这里精品| 色婷婷情片| 五月婷色啪| 婷婷五月天基地| 91超碰在线播放| 久久精品这里只有精品免费首页| 超爽内射| 五月丁香六月激情欧美综合| 亚洲AV电影美洲AV电影| 五月丁香六月婷婷操操操| 91男人操女人视频| 婷婷五月丁香综合人妻| 碰人人97| 99精品视频在线观看| 超碰2021| 五月天六月婷婷| 五月J香蕉婷婷| 啄木鸟黑丝一区二区| www.99热| 六月婷婷狠狠做| 欧美叉叉叉BBB网站| xxxx五月激情| 97久久久久久久久久久| 久久欧洲综合网| 亚洲美女裸体被操在线观看| 国产婷婷五月色情综合| 9999热在线观看| 99热地址| 六月丁香av| 五月丁香好婷婷A片网| 天天综合 99久久婷婷| 丁香五月中文字幕色播| 色综合久| 色99综合色88| www.激情| 亚洲美女婷婷五月天| 欧美99| 精品人妻久久久| 日韩五月婷婷久久| 日韩人妻在线观看| 天天草婷婷五月| 婷婷五月综合国产精品| pacopacomama 070722_670 素人奥様初撮りドキュメント 103 大久保純子 | 九九综合视频在线观看| 久草热久草在线视频| 99久久综合网| 亚洲AV第二区国产精品| 这里只有精品视频| 天天干狠狠| 影视av久久久噜噜噜噜噜三级| 99操视频| 开心五月深爱激情| 日韩啪啪网| 色色热| 秋霞三及片| 伊人玖玖网| 丁香五月成人网| 五月婷婷深爱六月| 成人五月丁香社区| 97婷婷五月| 99噜噜| 玖月婷婷爱丁香| 操操综合网婷婷| 无码髙清| 日日操日日射| 大香蕉九九| 婷婷五月丁香基| 99在线精品视频| 天天在线久久综合 | 婷婷丁香五月天在线视频| www.99操.com| www.婷婷六月天| 青青草成人网| 99re这里只有精品在线观看| 快乐婷婷五月天| av在线观看网址| 日本一级黄色电影| 久久9视频欧美| 日韩欧美骚货| 99热99热在线观看| A片一曲| 亚洲成人电影在线免费观看| 五月丁香狠狠爱| 激情第四色| www.狠狠操.con| 天堂中文国产| 91热手机在线| 丁香婷婷久久五月天| 97色婷婷| 五月婷婷综合激情网| 天天日天天干天天天| 国庆精品久久| 狠狠舔| a在线免费v| 久久se 综合网 | 99九九精品视频| 天天射色五月天| 日本少妇裸体做爰高潮片| 久久精品4| 激情五月六月| 五月婷视频| 99热只有精品在线观看| 伊人五月人妻精品| 另类图片激情五月天| 亚州色色色| 五月天婷亚洲综合在线嫩草网| 亚洲视频国产一区| 夜色综合网| 久久九九99.www| 亚洲免费综合一区| 婷婷五月激情基地| 9|人妻人人操| 色婷婷aV四虎| 综合超碰熟| 99热亚州综合| 丁香花五月天社区| 日韩AV中文字幕在线| 婷婷五月丁香四射| 97成人超碰免| 99在线资源| 99热在线资源| 色婷婷电影| 久久新地址| 婷婷六月啪啪| 丁香六月婷婷综合色| 97色色婷婷| 91狠狠色丁香婷婷综合久久精品| 六月丁香婷婷综合色播| 色婷婷五月基地在线| 六月丁香婷婷亚洲中文玖玖| 这里只有国产精品在线| 色综合射婷婷| 色五月婷婷综合| 久久伦乱| 亚洲欧洲另类| 五月婷婷六月爱| 天插天啪天啪天啪| 丁香六月欧美| 五月婷婷激情综合| 免费观看全黄做爰的视频| 思思9久久| 7777国产盗摄农村女人| 色综合久久88| 国产色色在线| 成人色色视频| 五月丁香自拍| 狠狠五月天| 日韩ww| 丁香97综合| 操操国产| 99九九视屏| 5月婷婷6月六月丁香| 伊人婷婷大香蕉| 婷婷成人视频| 色吊操色妞| 91免费看片| 六月丁香激情综合网| 26uuuavcom| 99re8这里只有精品99re8热视频| www久久99| 亚洲乱码日产精品BD| 97婷婷五月| 亚洲天堂爱爱| 五月丁香激情深爱婷婷| 中文字幕黄色片| 亚洲乱码日产精品BD| 亚洲韩国日产综合AV| 激情综合网五月丁香| 亚洲第一色色色色| 99这里都是精品| 亚洲激情av| 一区二区传媒视频| 丁香婷婷五月天亚洲| 久久五月天激情| 综合色99| 久久99激情| 五月丁香婷婷无码A∨| 夜夜骑夜夜撸| 亚洲精品V天堂中文字幕| 色播五月天婷婷老师| 色播五月婷婷综合| 亚洲激情综| 成熟妇人A片免费看网站| 日韩无码人妻一区二区| 久热这里只有精品66| 97婷婷狠狠| 伊人网色婷婷五月天| 色久女| 久久精品亚洲一级牲爱综合| av国产精品| 91人人超碰在线| 色播婷婷五月天| 99热这里只有精品8| 看逼中文字幕| 精品久久久久久久人妻| 欧美激情性做爰免费视频| 色综合丁香婷婷| 日撸夜撸日操| 亚洲字幕AV一区二区三区四区| 99综合一区| 狠狠干五月丁香综合网| 六月婷婷毛片| 男人综合网| 久久五月天婷婷| 怡春院久操| 天天干天天射色综合| 亚洲人人操| 亚洲区视频| 激情五月天网| 五月丁香少妇| 免费精品99| 综久久久| 婷婷性爱五月天| 日韩丁香涩| 日韩五月天婷婷| 99啪啪视频| 久久香蕉网| Av九九| 精品久热69| 色99在线视频| 9伊人网| 亚洲热视频| 五月婷久草| 五月色丁香视频精品| 色五月丁香com| 综合久久五月| 五月天婷婷色综合| 五月婷婷开心五月| caopeng97人人| 五月天综合视频网| 激情图片婷婷| 91狠狠色丁香婷婷综合久久精品| 99综合免费视频| 丁香五月婷婷啪啪| 99热九九这里只有精品10| 五月天色区| 人妻射精AV| 亚洲日韩乱码一区二区三区四区 | 26UUU亚洲欧美| 中文成人在线| 天天干夜夜想| 狠狠色噜噜狠狠狠狠综合| 变态另类9| 香蕉综合网| 另类小说五月天| 激情黄色五月天| 夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂亚洲亚洲亚洲亚洲亚洲亚洲亚洲亚洲色 | 91Chinese在线| 久久五月天激情美女| 色区久久| 99热日韩| 综合久久综合久久| 国产精品国产成人国产三级| www.夜夜.com| 91精品婷婷国产综合| 丁香成人五月天| 国产成人VA| 就爱日五月天| 久久婷婷色| 日日噜噜久久婷婷五月天 | 超碰国产在线观看| WWW、日本色丁香co m| www.91五月| 五月婷婷啪啪| 色七色九九| 丁香九月色| 色伊人婷婷| 国产日批视频| 大香蕉久久婷婷精品综合| 99热这里只有精品16| 开心五月婷婷在线视频免费观看| 亚洲爱婷婷| 五月丁香综合激情| 五月丁香六月婷婷网| 欧美婷婷六月丁香综合色| 日韩限制级大尺度黑料泄密大尺度视频一区二区在线观看 | 激情网婷婷婷| 六月丁香花婷婷| 大香蕉久久伊人网| 丁香五月婷婷基地| 久婷五月| 26uuu91| 91操片| 婷婷五月丁香综合亚洲| 色色色成人网| 久久精品人妻| 五月婷婷九| 99热99在线| 殴美97色| 疯狂做受XXXX高潮A片| 色呦呦美女| 日逼免费视频| 五月天婷婷三级黄| 久99综合婷婷| 人妻在线网站| 色色色九九九五月婷婷| 五月综合视频| 激情综合五月天| 五月婷视屏在线观看| 五月天婷亚洲天综合网综合| 99在线视频播放| 懂色av粉嫩AV蜜臀AV| 99精品在线| 丁香五月日韩| 国产日韩欧美性爱| 五月天激情电影| 亚洲婷婷六月天| 五月丁香日本一抹本| 亚洲AV第二区国产精品| 九九精品系列| 婷婷狠狠爱| 狠狠人人| 91一起操| 综合久久97| 在线99色| 五月花激情网| 亚洲成人中文字幕| 久久99免费视屏| 丁香五月之久操视频| 国产成人综合网| 国产成人亚洲综合A∨婷婷| 97色色综合| 九九热最新| 99精品福利视频| 婷婷爱五月天人人爱| 激情WWW| 成人五月天在线视频在线观看| 成人噜噜网| 丁香六月色婷婷| 4399在线日本A片| 国产97色在线| 大香蕉久| av婷婷丁香 六月| site:wpjngj.com| 狠狠色婷婷7| 色99亚洲| 丁香五月天欧美在线| 六月婷婷影院| 91精品综合久久久久久五月丁香 | 美女久久婷婷| 91综合网| 99热天堂| 五月综合久久| 色五月婷婷丁香国产在线| 天天色一道本综合婷婷| 五月婷色丁香| 丁香 婷婷 亚洲 熟女| 欧洲第一久色| 激情五月天网站| 啪啪99| 婷婷色综合| 激情五月天色播| www五月婷婷88导航| 欧美日韩国产一二区| 色婷婷AⅤ| 999热在线视频| 丁香六月婷婷开心| 视色综合| 97干在线播放| 亚洲成人网站在线观看| 99九九这里有免费视频| 九九av在线| 性日本激情| 久色五月婷婷综合| 日本婷婷五月天| 五月激情婷婷在线| 99在线视频网址在线观看| 综合网狠狠| 九九精品在线视频观看| 欧美视频在线观看噜噜| 精品人妻久久久久久| 91九色首页| 爱久久小说下载网| 欧美色97| 丁香六月天色婷婷| 欧美99视频| 亚洲妇女熟BBW| 第五婷婷伊人丁香| 丝袜大香蕉| 黄网在线免费| 丁香六月啪啪啪| 99秘 在线| 影视av久久久噜噜噜噜噜三级| 99热婷婷| 97丁香五月| 另类图片激情五月天| www.五月天婷婷| 香蕉久久国产AV一区二区| 9精品国产在热久久| 四月婷婷五月色综合| 天天做天天摸| 蜜桃人妻无码AV天堂三区| 91亚洲天堂| 色小说婷婷五月天天天| 2020日日干| 99亚洲精品综合在线| 久综合网| 另类综合色| 91中文狠狠综合| 9l视频自拍9l九色成人| 亚洲另类视频| Blackedraw视频一区二区| 26UUU精品一区二区| 99精品丰满| 天天爽天天爽天天爽天天爽天天爽| 欧美日韩AAAA| 2018国产大陆天天弄| 国产成人高清| 五月婷婷开心五月| 激情综合网婷婷五夜| 五月欧美色播| 久操婷婷| 欧美日韩123| 久久免片| 任你干线上免费视频有3吗| 婷婷亚洲五月丁香综合在线| 亚洲激情av| 婷婷午夜综合| 婷婷六月色| 9色免费网| 欧美激情综合色丁香婷婷五月天| 乱岳熟女50岁| 亚洲激情无码久久| 婷婷五月花| 中文字幕永久在线| 婷婷久久综合久| 9|无码久久久久久| 99久在线视频| 九热...av| 久婷婷婷| 婷婷五月天黄色| 色色色综合| 久久99精品久久久久久青青AR| 五月丁香花婷婷玉莉AV| 九九无毛| 日本五月婷婷| 久久综合网桃花| 99热8| www.91在线看| 婷婷五月色综合| 五月停停999| 99在线69| 亚洲sesesese| 99热最新网址| 五月婷婷六月激情在线| 日本精品人妻无码77777| 日日爽日日操| 2050人人操免费工开爱| 欧美日韩AAA| 狠爱婷色| 丁香婷婷六月天| 激情综合久久| 99无码视频| 色五月五月丁香| AV亚洲在线| 夜夜爽天天爽| 综合色情网| 婷婷综合五月| 第四色婷婷五月| 97se在线视频| 亚洲AV日韩无码| 91中文在线| 国外亚洲成AV人片在线观看| 99爱无码| a九九热www| 人人干人人看| www激情网| 六月激情网| 97人人射| 激情亚洲色图片丁香综合| 琪琪狠狠干| 91人操| 一夜福利不卡| 六月婷婷日| 久久九九综合| 九九热视频免费的| 综合99视频| 天天综合精品| 26uuu| 婷婷久久综合| 亚洲中文AV| 五月婷婷黄色| 中文字幕 久久9999| 激情綜合網址| 北京熟妇搡BBBB搡BBBB| 色色色色色色网| 99re最新地址视频| 91熟妇大香蕉| 色色色热| 深爱开心激情| 色五月激情五月天| 亚洲射激情| 国产精品视频免费看| 极品人妻VIDEOSSS人妻| 婷婷六月色开| 再次出发二| 久久丁香婷婷五月| 男女啪啪做爰高潮无遮挡| 五月婷婷亚洲| www.爱操com.| 91碰| 神马久久五月天| 五月丁香婷婷基地| 天天色天天| 丁香综合伊人AV| 色欲天天综合| 9久热在线精品| 五月天激情国产综合婷婷婷| 激情亚洲婷婷| 99爱在线观看视频| 激情婷婷丁香色五月综合| 婷婷五月色综合| 成人国产网| 性爱久久| 亚欧州精品视频| 日日夜夜综合| 色婷婷婷综合五月天| 伊人久久婷| 国产亚洲av片| 婷婷丁香五月天综合在线日韩| 97碰在线视频| 久久精品系列| 人人草人| 天天爽日日爽夜夜爽| 五月激情综合激情五月| 色婷婷五月天av在线| 婷婷婷久久久| 免费成片在线观看| 亚洲综合色婷婷文学| 成人做爰A片免费看视频| se99视频| 成人片在线播放| 激情五月天综合网| 青青草成人网| 思思热在线播放| 丁香六月视频免费观看| 五月婷综合性中心| 久久亚洲婷婷| 99热播放| 久久婷婷网| 国产亚洲精品久久一区二区三区| 开心五月深爱婷婷| 婷婷五月天激情综合深爱激情| 一本久久亚洲五月婷婷| 五月丁香色色综合| www.xtbsty.cn.com蜜乳AV| 五月丁香啪啪激情| 久久五月激情| 92久久| 99操中文视频| 五月天综合在线| 色色激情| 99精品激情| 婷婷五月丁香av网站| 超碰精品在线| 九九九精品视频免费观看| 丁香色五月直播| 華人性愛AV在線| 五月婷婷激情四季| 六月丁香深深爱| 色五月色综合| 亚洲成人黄色网| ji'qi'luan'ren'lun| www色婷婷com| www.色婷婷.com| 97干在线播放| 91人妻PORNY九色大屁股| 夜夜骑夜夜操| 久久精品一区二区三区四区| 黄网在线免费| 丁香婷婷综合喷| 超级黄色片| www.色婷婷| 婷婷激情五月天在线视频| 国产淫熟妇| 婷婷丁香五月在线播放| 国产成人AV在线播放| www.99视频| 中国丰满熟女A片免费观| 中日韩美欧成人一区二区精品在线| 色一色综合| 精品九九网| 九九色影院| 五月婷婷丁香大陆免费| 伊人久久五月天综合| 国产精品色色| 久久婷婷亚洲| 婷婷视频在线碰| 日韩综合久| 丁香婷婷综合激情五月色,开心五月丁香花综合网,激情综合五月亚洲婷婷,五月天 | 《久久综合九色综合97婷婷| 久久久中文| www.五月婷婷久久.com| 草综合14| 五月天激情婷婷| 日本久久色| 91色九| 森林影视大全,最好看的2019年视频 | 天天操,夜夜骑| 色综合九九| 色五月亚洲开心网| 91大神操美女| 青柠影视免费高清电视剧| 99热精品超碰| 伊人五月天日日夜夜久久久天天| 亚洲va欧美va国产综合久久久| EEUSS鲁片一区二区三区| 91九色首页| 黄色91在线观看| 七七九九色色| 五月天激情国产综合婷婷婷| 丁香激情网| 五月丁香少妇| 婷婷成人五月天一区| 波多野结衣AV无码Porn| 噼里啪啦完整版中文在线观看| 欧美日韩五月婷婷| 五月婷婷开心激情六月蜜桃| 久久9热| 在线中文AV| 国产成人网站在线观看| 开心五月天激情网站| 色色色热| 91互操| 五月丁香六月婷婷婷婷| 久久99热这里只有精品| 丁香五月天堂网AV| www.五月婷婷久久.com| 操99| 青青草99热久久精品国| 婷婷五月精品在线| 色色色色网站| 久久久久99精品成人网站| Www.婷婷五月| 久久伊人大香蕉| 狼友超碰| 日日操日日撸| 无码碰碰| 久久伊人日日夜夜| 激情婷婷六月天| 任你日视频| 夜夜骑天天操| 久久婷婷五月天丁香| 色色色在线免费视频| 久久久精品99| 婷婷五月天亚洲综合| 免费做A爰片77777| 久久永久网址| 日本久久天堂| 婷婷五月综合久久中文字幕| 丁香五月综合AV在线| 不卡在线超碰| 26UUU欧美激情一区二区| 26uuu在线观看| 操久久网| 亚洲AV网址| 在线成人视频免费| 裸体美女丁香五月天。| 丁香婷婷综合影院| 大陆肏屄视频| chaopeng在线人人| 婷婷五月偷拍| 玖玖99婷婷| 午夜无码精品色综合久久| 中文成人在线| 激情五月婷婷综合网| 五月天婷婷综合网| 99热这里只有精品98| 99激情视频| 成人五月天色天堂| 色九区| a69在线视频| 亚州美女| 99热99精品在线观看| 日99网站| 国内精品玖玖| 韩国97天堂| 五月婷婷官网色| 五月开心久久| 亚洲精品无码久久| jiujiu热在线视频| 操操啪| 天天操天天操| 婷婷五月丁香国产| www.99热这里精品| 丁香婷婷色九月| 夜夜撸天天操| 热热久久精品视频| 中文字幕无码AV| 久久久久久五月天| 色噜噜五月丁香婷婷| 婷婷大乡焦噜噜| 色综合婷婷| 五月丁香六月激情| 天天日天天做天天操| 操操操91| 久久综合激情| 免費亭亭成人| 碰久久精品w| 久久92| 五月丁香色婷婷伊人| 中文字幕视频色婷婷| 日婷婷久久开心| www色婷婷| 国产欧美熟妇另类久久久| 这里只有精彩亚洲视频推荐| 停停综合色色| 五月丁香婷婷基地| 婷婷五月天亚洲图片| www,色综合| 性综合网| 99热99干| 亚洲色碰| 五月婷婷影视| 国产白丝在线一区| 欧美婷婷五月无砖| 丁香综合久久| 99热思思| 久久99激情丁香婷婷小说网| 9久久精品| 丁香六月丁香婷婷激情| 综合久久久| 手机激情网| 丁香狠狠色婷婷| 男男野外做爰全过程69| 久久丁香综合| 久久婷婷丁香五月一二三| 玖玖玖婷婷婷| 97福利视频| 色五月五月婷婷| 激情综合色五月六月婷婷| 啪啪操操| 国产精产国品一二三在观看| 午夜成人综合| 九九热手机在线视频| 亚洲一级色电影| www,99视频| 噜噜视频| 五月婷婷在线视频观看| 99久久这里只有精品免费官网| 婷婷丁香综合| 国内一级片| 五月婷色| 五月激情婷婷国产精品久久久久久| 欧美大奶熟女噜噜噜噜| 海外网站专业操老外| 青草青草视频2免费观看| 日韩操逼大片| 97色色在线视频| 性 色 婷婷| 成人五月丁香社区| 97丁香视频| 久久五月婷6 9| 狠狠色狠狠操| 亚洲午夜电影| 色五月婷婷丁香五月| 色的色综合| 婷婷五月av| 色五月偷偷| 亭亭丁香97| 日本色色色色色色色色一色二色| 久久久精品色| 伊人网碰碰| 五月丁香六月婷婷网| 国产在线另类五月婷婷| 77799热| 啊V视频在线观看| 色综合香蕉| 黄色aa观看aaguochan| 99视频在线观看地址| 五月丁香婷婷色| 伊人五月天在线| 超碰99久久| 日本色色网站| 丁香五月成人网| 婷婷五月天激情网站| 色情五月天A片| 五月婷色丁香| 日韩狠狠色婷婷| 亚洲中文丁香| 五月婷丁香花| 成人在线日韩| www.超碰在线| 99ri久久| 色碰碰| www.henhenl| 五月婷婷色综图片| AV操逼网| 色综合九九| 开心五月婷婷激情| 久热91| 九九综合精品| 开心六月婷| 五月噜噜噜色综合| 99热精品10| 日本在线视频手机播放五月婷| 视频综合网| 日韩一66精品| w婷婷五月婷婷w| 五月婷久久在线| 天天插天天插天天插| 日日日天天干| 五月色丁香| 久久婷婷五月综合啪| 狼人狠狠操| 伊人91| 99热免费| 日韩AV中文在线观看| 日韩熟女啪啪视频| 久久全色| 国产操B视频| 丁香五月亚洲激情婷婷射| 色婷婷内射| 激情婷婷另类| 日韩无码色色| 色婷婷伊人| 高清无码网址| 99re欧美精品| 激情婷婷网| 色婷婷丁香| 五月婷婷成人网首页| 久久久人妻门| 在线成人视频免费| 色五月天电影| 九九色情网站| 大香AV| 婷婷五月丁香基地在线视频官网| 免费精品66| 开心五月深爱婷婷| 91久久综合亚洲鲁鲁五月天| 五月丁香六月成人| 超碰在线免费观看日韩| 丁香色影院| 久这里只有精品99| 丁香5月婷婷| 91seav| 欧美成人猛片AAAAAAA| 国产美女主播vip| 欧美日本VA| 久久人妻高清中文| 99热综合网| 嫩草AV久久伊人妇女超级A| 婷婷五月天大香蕉在线视频观看| 99热国内精品| 综合性视频99| 亚州操操| 亚洲精品V天堂中文字幕| 99re免费在线视频| 99成人精品六| 天堂五月婷婷| 国外亚洲成AV人片在线观看| 亚洲啪啪精品| 五月婷婷亚洲天堂激情在线| 五月丁香六月婷婷无码| 精品人妻一区| 五月婷婷狠狠久久| 久热这里只有精品在线观看| 26uuu在线观看| 色婷婷成人做爰A片免费看网站| 中文字幕五月久久婷婷| 九九这里只这里只有精品| 丁香五月婷婷基地| 日日躁夜夜躁狠狠久久AV| 日本一级特黄大片AAAAA级| 噜噜噜噜在线| 99精色| 青青久久大香蕉| 在线色五月婷婷| 亚洲中文字幕av| www,99色| 激情亚洲色图片丁香综合| 男女99免费视频| 综合婷| 丁香五月婷婷亚洲另类| 丁香六月情| 大香蕉人在线65| 这里只有精品视频一区| 色五月婷婷五月丁香五月激情五月视频| 国产日产成人亚洲欧美国产VA| 五月婷婷久| 欧美叉叉叉BBB网站| 九九九色综合| 五月天播播中文字幕| 久99婷婷色综合| 精品人妻伦| 亚洲综合激情五月久久| 久久加勒比| 五月开心深爱激情网| 国产69精品久久久久999小说| wwwss在线观看| 亚洲啪啪网| 婷婷性爱视频在线| 五月天综合影院| 婷婷色五月综合| 激情播丁香| 激情小说五月天| 97色色婷婷| 91色在线/日韩| 91porn一起草| 五月婷婷六月情| 婷婷狠狠狠爱| www.久久av.com| 色五月美女| 丁香六月天婷婷开心综合| 欧类av怡春院| 五月婷婷伊人网| 亚洲乱码日产精品BD在线观看| 九九色中文| 五月色影院| 超碰在线看| 丁香五月激情综合| 欧美日韩99| 六月激情婷婷| 色婷婷手机在线| 欧美成人精品A片免费一区99| 久九色| 狠狠爱综合网| 色色五月婷婷| 99热这里有精品| 久久中文人妻系列| 在线另类| www.爱操com.| 三级av在线| 婷婷激情五月综合丁香社| 超碰97在线观看免费| 丁香五月激情五月开心五月| 九月大香蕉| 九九色大香蕉|