亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

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 倉(cāng)庫(kù)中macbuild目錄的官方構(gòu)建說(shuō)明 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 的說(shuō)明當(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 包。原文檔說(shuō)明這些舊系統(tǒng)中 Ventura 與 Monterey 上構(gòu)建理論上仍可能成功但已不屬于官方維護(hù)范圍。這一點(diǎn)可以從源碼得到印證macbuild/build4mac.py 中的Get_Default_Config()通過(guò)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 圖形框架。原文檔給出的三種來(lái)源默認(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 來(lái)源定義了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 編譯問(wèn)題原文檔引用了上游 issue #1599。3. 腳本語(yǔ)言支持Ruby 與 Python 的模塊組合KLayout 支持 Ruby 與 Python 兩種對(duì)象腳本語(yǔ)言構(gòu)建時(shí)通過(guò)build4mac.py的組合參數(shù)決定綁定哪種語(yǔ)言、以及語(yǔ)言解釋器來(lái)自哪個(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)庫(kù)三項(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來(lái)自 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)來(lái)源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 來(lái)源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 來(lái)自 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/*原文檔說(shuō)明撰寫時(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í)行文件與庫(kù)部署到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 編譯問(wèn)題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í)行文件與庫(kù)含 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來(lái)啟動(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. 通過(guò)代理服務(wù)器使用 git 版 Salt Package Manager如果通過(guò)代理服務(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)跳過(guò)個(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è)置這一說(shuō)明-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)可通過(guò)-s|--serial修改默認(rèn) 1。從 macbuild/makeDMG4mac.py 的 usage 可知腳本還支持-c/--clean清理工作目錄與-m互斥、-b|--bundle強(qiáng)制指定 DMG 內(nèi)的 bundle 名、-u/--unsafe跳過(guò)部分檢查慎用、-t|--targetdmg指定輸出文件名其實(shí)現(xiàn)基于create-dmg的衍生工作DMG 背景圖與卷圖標(biāo)取自 macbuild/Resources 中的 PNG 與.icns資源AppleScript 模板為 macbuild/Resources/template-KLayoutDMG.applescript。9. 已知問(wèn)題與維護(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)語(yǔ)言組合時(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/的說(shuō)明對(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í)帶來(lái)的構(gòu)建鏈接問(wèn)題。贊分享硬件開發(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
返回資訊列表
人妻久久久| 20cm女自慰在线日韩欧美| 99久久精品无码一区二区| 九九九九九九精品| 欧美A√综合网| 曰韩av中文字幕专区| 乱伦一二三区| 国产60页| com 首页 18岁 禁区 女优 免费 精选 同城 | 蜜桃一区二区三区| 2011国产精品| 成年女人18级毛片毛片免费观看| 精品偷拍13p欧美dodk视频| 精品无av| 精品玖九九久| 啊啊啊久久| 骚货操死你| 国产91丝袜在线播放蜜月| 欧美|91色综合| 亚洲一区二区三区欧美日韩| 人人潮人人摸| 国产精品久久久久久久久AV大片| 国产精品久久成人免费| 一区二区三区黄色片a| 超碰午夜| 日韩精品在线放| 久久中文字幕在线观看| 亚洲欧美校园| 少妇高潮九九九九九九九| 久久精品一区| 日本淫乱女一区二区三区视频| 丁香五月久久| 丝袜喷水在线| 九九视品黄色| 蜜臀av在线播放一区二区三区| 女人高潮抽搐喷水视频网站| 国产精选三级在线观看| 国产树林里野战在线看| 播播亚洲小说亚洲| 一区二区三区四区五区高清无码永久视频| 久久久久13| 大香蕉在线86| 色女99一级片在线观看| 久久久穴999| 亚洲大色堂| 骚逼一区二区| 91亚洲影视| 欧美色图91| 丰满人妻一区二区三区色-百度| 久久精品国产亚洲av水密被窝| 日日骚一区二区三区| 久久久无码精品人妻二区| 日韩无码第3页| 97干在线视频| 人人人摸人人| 黑人黄片在线免费观看| 天天干天天拍| 人妻少妇精品久久久| 亚洲青青草| 婷婷激情丁香| 一级人妻性爱视频| 午夜寂寞欧美| 欧美性猛交美女自慰91| 裸体1区| 欧美亚洲厕所精品偷拍91| 欧美日韩亚洲五月天婷婷| 色偷偷人人玩人人舔人人操人人摸人人爽| 校园春色家庭伦理欧美激情| 女色综合| 中文字幕一二区二三区人妻专区| 免费看一级a性色生活片久久无| 伊人久久艹| 殴美,日韩国产伦精品| 少妇500双飞99| 亚欧美色图| 美女诱惑一区| 午夜影美女日鸡鸡天天视频国产| 99热这里是精品| 韩日男人的天堂| 97久久精品不卡| 亚洲色图一区二区三区| 黄色电影观看久久9| 啊啊啊操一区| 乱伦日本中文自拍| 操碰97| 国产午夜视频| 快灬快灬 一下爽蜜桃在线观看| 91综合网站| 国产啊v在线免费播放| 92午夜免费福利视频| 一区二区首页| 91精品人妻一品二品三品| 免费?级毛片无码?∨蜜芽试看| 天天插天天操| 国产女人9999| 欧美黄色大香蕉一区二区| 久久综合精品一区二区三区| 欧美少妇色图| 久久99网站| 天天综合网91入口| 蜜臀无码视频在线观看| 婷婷丁香六月| 四虎精品永久在线观看| 久久国内| 欧美性夜| 色噜噜狠狠色综无码久久合欧美| 日日妻色网| 欧美一二三级精品在线| 久久最新免费视频23| 97在线亚洲| 欧美经典一区二区三区 | 欧美亚性天堂| 97在线免费视频观看| 久久东京伊人一本到鬼色| 色鬼在线综合| 一区二区三区美女超清| 欧美激情色婷婷花野真衣一区二区| 久久精品国产亚洲AV清纯| 9色在线| 亚洲熟女少妇免费视频| 国产家庭乱伦网址| 男女性扦B| 国产亚州高清国产拍精| 丝袜狂射91| 久久一区二区三区入口| 老熟妇一区二区三区| 八戒午夜福利理论片| 97人肏| 国产精品九九九| 大香蕉伊人久久| 99久久久| 久操99| 九九九色| 日韩影片中文字幕一区二区三区| 性色av大全| 天天插夜夜爽| 影音先锋中文字幕日本好一区二区| 欧美色图下一页| 隔壁邻居波多野结衣中文字幕| 亚洲狼狼干综合1| 日韩一级性爱无码| 国产又大又粗又长视频| 大香蕉九九| 99re免费| 裸体1区| 91动漫操逼视频| 欧美日本不卡| 九月婷婷综合| 欧洲亚洲国产综合在线| 99操逼| 亚欧精品久久久久久久久久久| 91激情| 69AV女优男人的天堂| 欧洲欧美视频一区二区| 91青青草| 久久久久久久久久精| 欧美色综合影院| 亚洲色阁| 九一综合网| 蜜桃久久综合视频| 免费一级特黄特色大片在线观看看| 欧美草草| 综合网欧| 超碰人妻在线| 精品少妇人妻av久久免费| 极品综合| 中文字幕免费看| 中文字幕黑人大片| a一区二区三区乱码在线| 欧美激情内射| 中文字幕一区二区三四五区日日骚| 免费一级视频特黄色大片| 五月丁香激情四射| 欧美丰满少妇交换91欧美精品| 欧美亚洲激情小说| 精品久久人妻成人网| 9久热这里只有精品| 男插女青青影院| 伊人久久婷婷| 国产版a级片直播在线| 欧美日韩黄片精品在线| 国产女大学生AV| 51一区二区三区| 97超碰天天| 99激情| 乱伦图一区| 国产精品96| 黄站在线免费观看| 91女优在线观看| 亚洲精品一二三四区| 九九99精品视频在线观看| 在线一道啪| 国产精品高潮久久久无码| 9997se| 欧美暴力猛交| AV高清一区| 在现视频女上位好爽| 国产成人自拍视频在线| 99久久精品无码一区二区| jizz啪啪| 啪啪视频亚洲第一| 日韩激情小说一区二区| 人人操人人干xxx| 亚洲97超碰| 亚洲97超碰| 好吊色青靑草| 久久97超碰| 外站AV在线| 少妇大屁屁| 91亚.色| 国产精品第一页国产大屁股视频免费区i | 日本一天色道久久久精品视频| 三级三级三级日本99| 夜色AV无码手机在线影院| 日韩精品国产一区二区| 欧美日韩精品一区二区三区高清| 综合影视国产无码| 中文字幕123| 亚洲国产精品无码AV在线| 97人人夜夜精品视频| 日本韩高清无砖码22o| 综合久久97| 久久中出| 色网在线视频观看免费| h在线看免费版在线看| 超碰在线99| AV 少妇 人妻 偷拍| 小草精彩毛片| 精品人妻一区春色| 久久青娱乐| 欧成人精品一区二区三区| 欧洲一区二区| 偷拍精品一区二区三区| 超97在线精品视频| 欧美日韩999| 亚洲另类久操网| 亚洲成人一二三区| 无码精品啪啪啪一区二区三区三州| 天美av在线| 亚洲色狠| 国产 码在线成人网站| 首页亚洲国产高跟丝袜诱惑视频 | 97精品久久| 黄色免费一级在线毛片| 国产亚洲日韩在线三区黑人| 九九亚洲视频| 淫骚熟女一区二区三区| 97在线亚洲| 中文字幕精品免费一区二区| 韩日无码在线观看| 欧美第一页性| 精品美女少妇一区二区| 精品九九国产无码| 久久精品小视频| 久久綜合很很很| 超碰色大香蕉| 午夜AV人气不卡| 婷婷综合视频| 嫩草91| 97超碰人人模人人拍人人| 蜜乳av一区二区| 九九碰九九爱97超碰| 中文字幕在线观看第二页| 亚洲欧美91√| 久久精品久久久久久久久| 婷婷五月综合在线| 97在线观看免费| 国模无码人体一区二区三| 国产美女高潮叫床视频| 超碰精品| 中文字幕在线观| A 天堂在线观看视频| 有码人妻系列| 美女久久久久久久久久久| 亚洲中文国际强奸字幕| 久久久久ab| 偷拍精品一区二区三区| 九九综合| 91丝袜在线播放| 日韩精品永久在线观看| 久久久九九九九| 高清有码一区二区| av婷婷色网| 老熟女91视频| 国产伦精品一区二区三区视频女| 国产sv美女内射| 操逼啊啊啊91| 啊啊啊啊啊啊啊在线| 国产美女裸体秘 永久无遮挡| 天美国产三级传媒| 亚洲黄色| 亚洲天堂性爱| 亚洲欧美首页| 少妇同性| 久久亚洲欧美中文字幕国语| 青青草色插素人| 日本 色 导航| 一区二区视频你懂的| 免费岛国一级片| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 日本高清视频在线观看黄已三辽| 乱伦图一区| 东北女人操比视频| 99热这里只有精品8| 天天综合91入口| 99综合| 天啪| 天天欧美色| 天天综合网网欲色| 日韩情色AV| 国模不卡| 欧美第五页| 婷婷视频网| 高清无码在线播放网站| 日韩美女,国产传媒,视频一区| 国产精品无码久久久久2025| 国产三级中文字幕粉嫩| 理论久久婷婷网 8| 亚洲精品国产熟女| 五十路一区无码| 欧美成人精品一区二区三区| 免费久久一级毛片大黄| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 在线播放一级无码视频| 精品人妻视频一区二区在线播放| 亚洲丝袜二区| 亚洲国产av中文字幕久久| 青青操视频在线| 无码国产精品午夜不卡(| 9999久久久| 五月天伊人| 免费看久久久性性| 1769成人国产精品视频| 手机av亚洲丝袜美腿日韩第一页二页| 色99色| 久久久精品中文字幕爱豆| 亚码人妻| 91neishe| 久久AV无码网址| 五十路熟女人妻一区二区三区四区五| 啊灬快c我灬啊灬用力灬啊灬-国产精品性做久久久久久-成人AV | 精品999日本| 无码色| 国产一区二区三区视频在线看| 欧美青青草视频| 久久熟女人| 啪啪啪精品视频| 久久久9999| 日韩 女同 综合| 大香蕉伊人亚洲| 亚洲中文一区二区三区视频| 欧洲亚洲国产综合在线| 98人妻精品一区二区色欲| 东京男人天堂| 欧美性天天影院| 九九热精品在线| 无码自拍SM| 亚洲综合另类小说色区亚洲成av人片在www | 性欧美91| 嗯嗯啊啊日韩精品| 性爱欧美五月| 啊啊啊啊啊啊啊好爽不要| 亚洲高潮少妇| 超碰九色| 国产高清精品福利| 亚洲 国产 精品一区| 精品综合久久久久久五月天| 97天天| 91精品国| 日本久久久精品电影| 久久国产精品熟女人妻| 精品无码少妇| 色天天野狼综合社区| 综合久久99亚洲人妻中文在线| 国产天天骚| 一本一道人妻久久一区二区三区| 久久久婷婷婷| 天天干,夜夜爽| 4399成人黄A片| 91性高潮久久久久久久久| xxx0国产在线播放| 久久精品性| 国产激情在线| 激情五月天社区| 欧美日韩国产色图在线| 精品人妻伦一二三区久久| 五月婷婷爱六月丁香色| 日韩精品99999| 猛交交| 无码99| 九九视品黄色| 男人的天堂激情| 欧美国产视频| wuyechaopeng| 日韩精品午夜操呦呦不卡影院| 一个色导综合| 欧洲Au麻豆| 精品久久人妻成人网| 韩三级a视频在线观看| 香蕉欧美| av网站免费看| 100啪啪视频大全| 大香蕉视频一二三区| 免费一级a毛片久久久久久鸭绿欲| 五月丁香激情四射| 国产精品久久久无码aV去| 国产精品区在线12p| 色网在线视频观看免费| 丁香五月性| 欧美天天拍| 96AV久久久| 精品久久九| 久久精品成人一区二区三区蜜臀| 亚洲欧美黄| 男女猛烈无遮掩视频免费软件| 日韩熟女乱伦中出| 99爱在线视频| 最新av在线| 亚洲欧美天| 亚洲欧美国产va在线播放频| 久久91视频| 九九热超碰| 日本97久久久精品| 欧美黑人与女人91| 欧美一二三级精品在线| 99色在线观看| 日本东京热大香蕉a片| 国产美女91| 懂色中文一区二区三区 | 超碰97最新人妻| 另类老少妇| 插入逼91| 国内毛片无码一级毛片| 青青草亚洲一区| 美女丝袜激情小说| 国产无码精品无码| 色九区| 久草色悠悠在线视频| 亚洲少妇免费视频\| 美女久久久久久久久久久| 国产精品嫩草影院午夜两性 | 美女91在线观看| 天天日夜干| 国语国产操逼伊人AV网| 国产一级久久久| 91美女小视频| 91一起操| 超碰97久| 黄色av一区二区在线| 91色黑人少妇| 97欧美综合| 国产乱伦一二三区| 亚洲少妇自拍中文字幕懂色| 搞中出久久| 啪啪视频mP4| 久久久夜夜夜| 色婷婷色99国产综合精品| 粉嫩小泬久久久一区二区| 精品无码久久久久久久久果冻糖心| 国产精选三级在线观看| 青青草在线视频播放器| 91碰碰碰| 91热热色| 日本日逼视频网| 激情文学小说一区二区 | 人妻丝袜无 码视频专区| 国产97综合| a v网站在线播放| 伊人色综合欧美| 逼操网站| 天天综合网~91综合网| 亚洲AV噜噜狠狠网址蜜桃动漫| 亚洲丝袜色图| 欧 美 自 拍 偷 拍| 亚洲综合影片| 亚洲国产精品有声| 嗯嗯啊啊啊啊轻点视频| 约操熟妇| 国产熟码AV| 在线看免费无码AV天堂的| 欧美在线|亚洲| 屁屁影院一区二区三区国产| 青青草华人在线欧美在线| 我爱大香蕉| 国产免费内射视频| 久久蜜桃综合网| 欧美午夜视频免费观看| 综合天天。| 久久国产视频性吧 | 日韩精品在线观看网站| 日韩BBN| 在线播放中文字幕| 老司机福利青青草| 久久超碰98| 99在线无码精品秘 入口黑人| 亚洲熟久久| 欧洲一级性爱视频在线观看| 97ai亚洲| 91处女视频在线观看| 在线a v| 亚洲蜜臀精品视频久久| 中文字幕亚洲欧美在线不卡| 凹凸久久人人| 亚洲天堂男人网| 久插综合| 激情五月天视频| 无码精品久久久久久亚洲| 自拍视频大全亚洲专媒视频/一区二区三区| 欧美一级特黄淫片在线观看| 欲香欲色综合天天伊人| 99re8免费高清在线| 户外裸露刺激视频第一区| 97Ai亚洲| 色香综合天天影视综合 | 中文字幕伊人| 欧美最婬乱婬爆婬性视频| 秋霞久久亚洲精品成人| 久久久久久久性爱| 日日干夜夜欢| 亚洲限制级在线| 久/久精品99看9| 精品无码久久久久久国产浪潮| 日本 情色 1区2区3区| 7月婷婷综合| 一级免费啪啪片| 欧美偷拍区| 清纯唯美亚洲综合| 国产9熟妇视频网站| 精品一区二区三区四区女 | 热热色91| AV乱伦专区| 九九九国产精品| 激情终合网| 欧美性天天影视| 天天做日日爱夜夜爽| 日韩欧洲操屄视频| 久久久久久九九九| 自拍啪啪视频| 国产丸一视频| 青青草男人天堂| 白丝1区2区3区| 色色丁香| 色色色色电影网| 色狠狠 - 百度| 欧美亚洲素人制服精品| 综合伊人网12色| 亚洲精品91| 日本一线产区和二线产区伦理片| 999九九九九国产动| 青青草日本中文字幕| 99国产精品人妻人伦| 超碰国产在线| 在线日韩视频| 玖玖色综合| 色情五月丁香| 欧美操人| 美女超碰978| 99热精品在线观看| 污啪啪啪视频| 国产精品一区二区三区在线密挑| 五月开心网| 亚洲精品一区中文字幕乱码| 亚州情色j区| 校园春色 男人天堂| 亚洲男人天堂2019| 亚洲精品819| 亚洲欧洲美腿丝袜| 丝袜综合色图| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 欧美亚州综合网图片| 97色欧洲| 91亚洲情色| 99久久99久久免费精品蜜臀| 97色碰| 一区二区三区国产在线播放 | 色色色999| www.婷婷| 旡码电影特区| 日日橹狠狠爱欧美超碰| 久久久内射良家| 91制服丝袜| 青娱乐休闲视频在线观看| 国产精品免费1区2区视频| αⅴ天堂| 久久伊人大香蕉| 性欧美另类高清| 久久天天躁日日躁狠狠躁| 日韩美女高潮喷水视频| 亚洲色欧| 国产无码三级视频在线观看| 777AV电影| 桃花色涩综合影院| 综精品久久久aaaa| 精品中文一区二区| 亚洲精品99999| 18禁精品网站在线看| 啊视频在线| 国产成人AV麻豆| 99草精| 国产午夜精品在线观看| 黄色一区二区秘书性感| 色色婷婷五月| 国产乱人妻精品入口| 日比av无码| 97在线精品观看视频| 9久热| 另类亚洲图色| 老熟女阿 国产91| 久久国产逼| 99色色网| 综合97亚洲| 女性91网站| 久久久精品视频免费观看| 色一射色一射| 蜜桃臀av一区二区| 天天射影院| 91亚洲欧美综合高清在线 | 日韩精品一二三四| 二级毛片| 可以免费看黄片的视频| 日韩精品一区二区三区四虎影视| 任你干在线视频| 欧美一二三级精品在线| 天堂蜜桃无码视频一区二区| 久久久久久裸体| 天天躁日日躁成人字幕aⅴ| 中文字幕高清20页视频| 亚洲天堂电影网99999| 欧美黄片免费在线观看视频| 秋霞男人网| 97精品国产| 五月婷婷丁香六月| 精品高清牛人盗摄一区二区三区中文字幕A片免费在线观看 | 啪啪资源网| 亚洲自拍另类丝袜综合| …亚洲黄色厕厕女女在线播…| 日韩乱伦视频| 国产成人精品午夜福利| 乱伦a片视频| 91天天综合网,天天综合网| 大香蕉伊人网| 天天影视综合网欧美精品| 久久大香蕉97| 婷婷视频网| 青娱乐黄色录像| 色丁香久久| 99re视频在线播放青草| 91久久久久久久| 蜜桃臀av一区二区| 九九这里只有精品| 色噜噜国产精品视频一区二区| 婷婷五月综合在线| 久久久久久久| 热久久这里只有精品| 快灬快灬 一下爽蜜桃在线观看| 97色色婷婷| 91色插| 亚洲日本成人动漫| 超碰色综合| 久久久精品国产亚洲伊人| 嗯嗯啊啊好爽| 97超碰逼| 中国大陆国产高清AⅤ毛片| 欲香欲色天天天综合和网| 亚洲第一精品在线视频| 国偷自 一区二区| 手机看片1024你懂的国产| 成人情色综合网| 天天干天天拍| 日本乱人伦片中文三区| 久久久久久久久久黄色网| 思思热在线cao| www.久久超碰| 久久的网站啊啊啊啊啊| 91社操逼| 国产sv美女内射| 久久的网站啊啊啊啊啊| 亚洲国产欧美另类自拍| 国产AV天美传媒一区二区三区 | 欧美国产操逼| 久久久激情| 青娱乐福利99| 欧美在线|亚洲| 国产免费一区二区三区最新不卡| 欧美一区二区三区互相| 成人日本片久久久蜜桃| 日本天堂网| 男人a天堂手机在线版| 九九九999久久久网站| 国产天天骚| 乱伦系列一区二区| 日本操逼视频在线| 茄子社区国产精品| 日韩内射视频| 亚洲欧美国产日本一区二区三区| 亚洲天堂精品日韩电影| 亚洲系列欧美| 午夜久久一区二区无码中出| 成人网站 免费观看| 色欲av国内精品久久久久久| 色香91| 精品射1999| 乱伦3P视频| 色欲天天综合久久久无码网中文| 欧美玖玖爱免费玖玖| 天天流夜夜操| 人妻中文字幕日韩电影| 1000部熟女视频在线观看| 国产91专区| 日韩欧美成人大香蕉| 日韩性爱网址| 无码人妻精品一区二区中文| 屁股久久久久久久久久| 亚洲青青草| 东京热一区二区三区四区五区六区| 久久性爱城| 丰满人妻一区二区三区四区| 人妻色偷色噜| 精品999一区二区| 国产精品一区二区麻豆| 男人把坤坤插入女人的下体| 蜜臀在线免费观看在线免费观看| 色99视频| 91精品国产麻豆国产自产在| 九九干| 欧美日韩啪啪电影| 黑人猛交| 99re免费| 蜜臀久久99精品久久久久久-DVD| 情色五月天就去干| 亚洲欧美在线综合| 日日夜夜噜| 91总综合网| 亚洲精品欧洲精品| caopeng97人妻| 大香蕉十区| 亚洲av总站| 欧美色97| 情色图区| 日产精品久久久一区二区| 性九九九九九九| 亚洲清纯唯美| 亚洲人精品久久久| 综合少妇网| 久久东京热成人| 伊人宅男大香蕉| 亚洲第一视频 欧美风情 日韩| 99精品在线| 亚洲国产97在线精品一区| 国产乱码久久久| 97欧美资源| 亚洲高清91| 日日超碰亚洲| 热无码中文亚洲H一道本一区二区| 被男人吃奶很爽的毛片| 中国一级操逼视频| 日韩AV无码中文一区二区| 亚欧高清在线| 人人操av| 青青草视频在线观看一区二区| 91黑丝少妇| 亚洲大色堂| 四虎免费视频| 国产精品9999| 亚欧毛片基地国产毛片基地 | 欧美色日本| 日韩丨制服丨中文|在线| 中文字幕欧美精品亚洲日韩蜜臀| 久久精品28| 国产 日韩 欧美一区| 26uuu欧美日韩| 免费看欧美美女黄色大片| 99热这里只有精品9| 亚洲熟妇乱女区二区三区| 97超碰巨乳| 变态另类专区| 国产无码三级视频在线观看| 一本一道vs波多野结衣| 资源在线观一 二| 蜜桃视频一区二区三区| 久久这里只精品| 久久国产逼| 五月丁香色情| 麻豆一区在线| 97干在线视频| 日韩欧美中文| 真实高潮91| 亚洲精品蜜桃久久久| 性无码专区2020| 色色色色网站| 四季AV一区二区凹凸精品小说| 欲色综合| 青娱乐国产精品| 日本久操视频| 一区二区三区在线日韩影院观看| 日韩肏逼视频| 欧美性爱精品一区二区| 大香蕉伊在线久草麻豆天堂故事| 9美女超碰在线免费观看| 综合激情二| 丁香五月婷婷基地| 久久精品99久久久久久| 91精片| 99久久网站| 欧美在线视频播放| 无码动漫av中文字幕| 超碰久热| 老司机福利社视频在线观看| 日熟女| 91N欧美| 变态另类专区| 国产成人免费观看在线视频| 爱干爱射网啊啊啊| 亚洲人妻爽爽爽| 亚洲一卡2卡3卡4卡乱码网站| 大鸡巴久久久| 亚洲色图A| 久操精品网| 亚洲人综合| 精品一区二区成人| 操操操操网黑人| 操啊国产| 91在线限制级| A 天堂| 色噜噜综合在线| 丝袜美腿丝袜| 国产精品一区二区黄片| 国产精品69久久久久孕妇欧美 | 日本三级中国三级99人妇网站| 蜜臀久久99'精品久久久| 精品国产91av一区二区三区| 亚洲码和欧洲精品激情系列| 天天看天天日天天操| 人妻碰碰碰碰碰碰| 九九九九热| 午夜激情床戏激情| 精品一区二区三区免费古装毛片香港三级日本三级人妇 | 亚洲无码AV九九九| 欧洲亚洲人人爽爽视频| 激情无码日韩| 亚洲诱惑天堂 | 欧美刺激色黄片免费看| chaopen97久久| 亚洲中文字幕精品久久久久久直播 | 亚洲影院无码在线| 久草精品国产蜜臀| 日逼逼免费看| 精国久久一区二区三区98| 国产精品人人爽人人做可爱福利| 在线视频一区二区传媒| 人人操人人摸人人看人人插| 日韩精品人妻中文字有码在线| 美女午夜福利免费视频| 少妇精品久久久八区九区| 影音先锋中文字幕日本好一区二区| 精品国产乱码久久久久久日本公司| 18禁超污无遮挡无码免费网| 91操熟女视频| 毛片中心9视频99| 日韩福利综合一区| 天天综合麻豆视频| 激情丁香五月婷婷| 亚洲图片欧美色图| 青女在线| 热99这里只有精品| 欧美天天搞| 麻豆av一区二区三区| 中文字幕乱码人妻二区三区| 久久人妻少妇| 亚洲精品一区中文字幕乱码| 午夜舔阴达高潮视频免费看| 热久日综合| 69精品久久久久中文字幕| 亚洲欧美碰碰| 久久久久久91香蕉国产| 精品一区二区人妖| 97在线免费观看视频| 日韩丝袜高跟制服在线观看| 91丨九色丨熟女高潮| 日本东京热久久久电影| 成人久久久精品| 欧美熟爽综合| 人人操人人大香蕉| 人人模人人看| 日本一二三免费久久| 亚洲射综合网| 99色在线视频| 午夜超爽| 中文久久久| 亚洲日韩东京热一区| 色999亚洲人成色| 日韩综合无码色欲vv| 中文字幕中文字幕一区二区| 999热日韩精品| 黄资源| 夜夜嗨AV一区天天| 国产网站在线播放| AAAA级日本片免费视频| 亚洲乱熟女一区二区| 男人干美女| 男人兔费天堂| 激情专区综合| 亚洲啪啪视频一区二区| 亚洲麻豆av一区二区| 久久久涩| 久久精品成人一区二区三区蜜臀| 日韩三级网址| 久久人妻精品| 黄片www.| 二男一女成人A片| 岛国黄片网站| 9丨久久九九九| 国内外毛片在线观看| 国产精品久久久久久久久久久久久久久久久久| 色色丁香| 中文字幕精品资源在线| 亚川综合视频| 亚洲欧洲av影音| 97色亚洲| 亚洲欧美另类图片| 水滴偷拍| 午夜操一视频一区| 久9久9久9久9久9久9| 亚洲素人网| 国产一区二区三区久久精品太古里| 丝袜内射| 67194无码不卡| 久久精品亚洲婷婷| 麻豆人妻精品一区二区| 91|九色|国产熟女| 韩国一级做A片免费的| AA特级绝黄| 欧美日本一区二区a人| 岛国激情视频在线观看| 日韩激情无码影院| 人人性爱视频免费| 国产内射爽爽大片| 国产激情视频一区区三区| 91丝袜美女视频| 69一区二区三区 | 亚洲精品九九九| 色香综合| 亚洲国产综合视频| 久久六六| 日本性感人妻91| 91性高朝久久久久久久久| 情趣丝袜无码操逼视频| 日韩99精品视频综合区| 偷拍三区| 亚洲国产精品无码AV在线| 26uuu性| 蜜乳AV一区二区三区四| 国产综合操逼高清| 曰韩精品九九无码| 色综合加勒比四四季| 麻豆国产成人精品| 婷婷探花久久精品一区| 99re久久| 亚洲āv网址在线观看| 国内精品a| 在线中文字幕极品av| 色综合色欲色综合色综合色综合| 99综合视频一体| 啪啪91| 一直超碰| 久久熟女嫩草成人片免费| AV女优男人的天堂| 国产美女在线精品免费看| 国产一区自拍欧美日韩| 熟女人妻一区二区三区| 亚 欧 美 综合| 99国产精品免费| 99热精品在线观看| 国产亚洲深夜激情| 日韩乱插| 玖玖蜜臀资源网| 欧美最大综合网| 综合五月天| 人人干黄色| 夜夜草网站| 欧美色66| 99久久免费看精品国产一区| 欧美 亚洲 91| 婷婷伊人| 日韩欧美传媒一区国产| 亚洲风情在线观看| 成人精品久久久午夜福利| 日韩黄片视频试看| 亚洲夜夜欢无码一区二区| 97视频网站在线观看| 欧美综合 站| 五十路一区无码| 日韩精品碰碰| 日本高清电影欧美色图| 人妻人妻天天碰| 五月天亚洲色图| 91小视频| 91殴美大片| 色欲蜜臀AV| 日本熟妇熟色97一本在线观看| 五月天我淫我色av| 人妻熟女一区二区| 欧美九九九| 国产馆极品诱惑| 好屌色综合| 伊人麻豆传媒| 欧亚乱色熟女一区二区| 玖色AV| 亚洲色丰满少妇高潮| 欧美黑人熟妇精品91| 丰满人妻无码一区二区三区| 日韩AV一区二区三区四四| 久久伦理视频久久大香蕉视频| 欧美91在线| 色婷婷综合网站| 国产精品国产| 成人无码在线超碰网| 国产精品老熟女一区二区| 欧美一二级| 国产精品视频麻豆入口| 中文字幕精品丝袜| 久9精品| 久久99视频| 尤物视频偷拍免费| 日韩无码三级影院| 动漫片子网站3黄| 久久久久夜夜夜夜| 丁香六月婷婷久久综合| 色九九九九九九| 亚洲中文国际强奸字幕| 国产精品欧美激在线| 成人线上超碰| 乱精品一区字幕二区| 欧美日韩中文字幕不卡| 影音先锋中文字幕日本好一区二区| 日本淫穴在线| 日韩免费高清大片在线| 97超碰天天爱天天爱| 国产91精品在线免费| 欧美午夜精品久久久久久超碰| 99热销国产这里有精品| AV 少妇 人妻 偷拍| 97超碰美女| 人妻碰碰碰碰碰碰| 2021国产成人精品久久| 玖玖97综合 | 懂色av色欲av蜜臀av| 青久操| 亚欧性爱无码| 国产熟女精品区| 午夜激情成人在线观看| 中 文字幕一区二区三四 五 区日 日 骚| 国产黄色剧情影片麻豆免费播放| 国模限制级电影| 波多野结衣之双飞调教在线播放| 伊人青青一区成人视频在线观看区| 亚洲天堂精品日韩电影| 青青草吊丝| 欧美日韩另类在线播放| 久久 久久国内精品亚洲| 日本性爱少妇| 欧洲精品二区| 九九久久首页| 欧美日韩成人在线| 91熟女网| 九九玖玖精品| 亚洲黄色视频在线观看视频| 粉嫩AV一区夜夜嗨| 精品v日韩欧美国产| 亚洲综合网91| 99国产精品久久久久久久成人热| 国产亚洲精品农村妇女| 99久久免费看精品国产一区| 免费夜夜爱黄色视频毛片| 亚洲麻豆av一区二区| av麻豆啪啪| 2020国产精品| 91社区伊人| 污电影在线观看| 性爱动态120秒| 日韩av不卡在线看| 亚洲高潮影院| 国产欧美日韩臀| 婷婷91| 性色av大全| 色网亚洲人| 欧中日成人免费影视| 日操粉逼逼| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 欧美午夜视频精品久久| 国产精品69久久久久久久| 五月天激情网站| 人妻丰满熟妇一区二区三| 欧美色图片色哟哟| 久久超碰免费的| 丁香六月婷婷综合| av爱爱爱| 亚洲中文字幕av | 欧美日韩日产免费网站看| 亚洲熟女中文字幕在线| 免费亚洲国产精品久久一区| 国产极品美女高潮无套在线观看| 青青草好吊色| 97超碰精品成| 国产久久视频| 婷婷伊人| 91人妻中文| 精品视频一区二区| 超碰97导航| 欧美精品第四五页中文字幕在线观看| 无码伊人久久大杳蕉中文无码| 精品十三区| 久草看看看| 亚洲av资源| 成熟熟女国产精品一区二区| 嗯啊不要啊在线| 欧洲特黄毛片免费看欧洲毛片| 天天看天天干| 久9精品| 欧美色图私拍91| 久久啊啊啊| 亚洲美乱| ,成人免费啪啪视频| 加勒比无码一区二区三区| 日本999精品| 久久久麻豆精品| 色欲蜜臀AV| av爱爱爱| 欧美亚洲小说| 天天操妹子| 校园春色美腿丝袜 | 人爽不卡视频| 亚洲 欧美 日韩另类 麻豆| 人妻黑丝袜电影| 国产青视频| 裸模AV女优| 少妇500双飞99| 好吊色一区| 美女淫穴| 丝袜无码a片| 国产美女91视频| 久久综合精品一区二区三区| 啊啊啊啊啊啊啊国| 天天射影院| 午夜超爽| 国产日韩美女小穴视频网站不卡| 成人短视频在线观看| 韩日无码在线观看| 国产精品视频一区二区三区八戒| 亚洲国产精品9999在线观看| 影音先锋每日最新资源在线观看 | 941超碰| 91小视频| 日本免费一级AAA大片器| 99在线精品视频| 天天综合站| 97精品97久久| 亚洲精品国产av天美传媒| 少妇毛片久久| 欧美另类色图片|