[{"data":1,"prerenderedAt":690},["ShallowReactive",2],{"wiki-page-/en-us/wiki/2023-12-10-dian-kong-shi-jue-huan-jing-da-jian/ch2-armkeilmdk-arm-dan-pian-ji-huan-jing-da-jian":3,"wiki-doc-items-/en-us/wiki/2023-12-10-dian-kong-shi-jue-huan-jing-da-jian/ch2-armkeilmdk-arm-dan-pian-ji-huan-jing-da-jian":620,"language-switcher-data-/en-us/wiki/2023-12-10-dian-kong-shi-jue-huan-jing-da-jian/ch2-armkeilmdk-arm-dan-pian-ji-huan-jing-da-jian":674,"wiki-i18n-paths-/en-us/wiki/2023-12-10-dian-kong-shi-jue-huan-jing-da-jian/ch2-armkeilmdk-arm-dan-pian-ji-huan-jing-da-jian":689},{"id":4,"title":5,"body":6,"canonicalPath":600,"chapter":601,"chapterSort":602,"date":603,"description":151,"docI18nKey":604,"docKey":605,"docRoot":606,"docTitle":607,"extension":608,"i18nKey":609,"isBlogPost":610,"isWikiDoc":611,"isWikiIndex":610,"layout":612,"legacyPath":612,"locale":613,"localeSlug":614,"meta":615,"navigation":611,"path":600,"seo":616,"sourcePath":617,"sourceStem":609,"stem":618,"wikiDepth":484,"__hash__":619},"content/_i18n/en-us/wiki/2023-12-10-电控视觉环境搭建/ch2-ARMKeilMDK(ARM单片机环境搭建).md","ARM Keil MDK (ARM Microcontroller Environment Setup)",{"type":7,"value":8,"toc":589},"minimark",[9,14,52,60,65,73,77,86,89,202,207,212,217,224,227,236,239,244,247,253,256,262,270,275,318,323,352,357,361,366,387,391,396,401,407,412,417,422,427,432,437,440,445,449,452,456,459,464,469,472,488,491,506,513,516,538,542,548,555,560,563,566,569,572,575,578,585],[10,11,13],"h3",{"id":12},"introduction-and-environment-recommendations","Introduction and Environment Recommendations",[15,16,17,21],"ol",{},[18,19,20],"li",{},"Keil MDK is the official software from ARM. It is the most mainstream IDE for microcontroller development, bar none.",[18,22,23,27],{},[24,25,26],"strong",{},"Recommended version:",[15,28,29,47],{},[18,30,31,34,35,34,38,34,41,34,44],{},[24,32,33],{},"Beginner: Blindly Follow"," ",[24,36,37],{},"ARM",[24,39,40],{},"Keil",[24,42,43],{},"MDK",[24,45,46],{},"5 + CubeMX (In the early stages, beginners are only allowed to install ARM Keil MDK 5 first, and are not allowed to use CubeMX)",[18,48,49],{},[24,50,51],{},"Veteran: No-brainer VSCode + CMake + CubeMX",[10,53,55,56],{"id":54},"arm-keil-mdk-5-cubemx-recommended-for-beginners","Arm Keil MDK 5 + CubeMX ",[57,58,59],"span",{},"Recommended for beginners",[61,62,64],"h4",{"id":63},"introduction","Introduction",[15,66,67,70],{},[18,68,69],{},"The most mainstream development environment (despite having many fatal flaws), bar none. Beginners should use it without overthinking—this is the solution they must use to develop STM32.",[18,71,72],{},"The drawbacks are obvious: an outdated interface, outdated code completion, only supports Windows, and is available only in the 32-bit X86 version.",[61,74,76],{"id":75},"windows","Windows",[78,79,80],"p",{},[81,82,83],"a",{"href":83,"rel":84},"https://www.bilibili.com/video/BV18T411r7Yu",[85],"nofollow",[78,87,88],{},"How to obtain the required files:",[15,90,91,94],{},[18,92,93],{},"The club's USB drive (direct copy)",[18,95,96,97],{},"Official website:",[15,98,99,106,113,153,166,179,186,194],{},[18,100,101,102],{},"MDK5 official website: ",[81,103,104],{"href":104,"rel":105},"https://www.keil.com/demo/eval/arm.htm",[85],[18,107,108,109],{},"MDK5 FW firmware download link: ",[81,110,111],{"href":111,"rel":112},"https://www.keil.arm.com/devices/",[85],[18,114,115,116,145,148],{},"ARM compiler download link:",[15,117,118,125,137],{},[18,119,120,121],{},"ARMCC(AC5) must be downloaded: ",[81,122,123],{"href":123,"rel":124},"https://developer.arm.com/downloads/view/ACOMP5?revision=r5p6-07rel1",[85],[18,126,127,128,132,133],{},"ARMCLANG (AC6) is generally included with the latest version of MDK5, ",[129,130,131],"em",{},"no need to download",": ",[81,134,135],{"href":135,"rel":136},"https://developer.arm.com/downloads/view/ACOMPE",[85],[18,138,139,140],{},"AC5 vs. AC6 Comparison (generally not needed): ",[81,141,144],{"href":142,"rel":143},"https://developer.arm.com/Tools%20and%20Software/Arm%20Compiler%20for%20Embedded%20FuSa#Editions",[85],"https://developer.arm.com/Tools and Software/Arm Compiler for Embedded FuSa#Editions",[146,147],"br",{},[149,150],"img",{"alt":151,"src":152},"","https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/10/image1.webp",[18,154,155,156,161,162],{},"Keil MDK 5 crack keygen (please disable antivirus software before downloading): ",[81,157,160],{"href":158,"rel":159},"https://sdutvincirobot.feishu.cn/file/SBbTbvSQ5o3dvExZ49UcGvYen8d",[85],"keygen.iso"," or ",[81,163,164],{"href":164,"rel":165},"https://www.duote.com/soft/907739.html",[85],[18,167,168,169,174,175],{},"Java_JRE Download (generally download ",[81,170,173],{"href":171,"rel":172},"https://javadl.oracle.com/webapps/download/AutoDL?BundleId=250129_d8aa705069af427f9b83e66b34f5e380",[85],"Windows Offline (64-bit)",", JRE installation is required to open CubeMX): ",[81,176,177],{"href":177,"rel":178},"https://www.java.com/en/download/manual.jsp",[85],[18,180,181,182],{},"CubeMX official website: ",[81,183,184],{"href":184,"rel":185},"https://www.st.com.cn/zh/development-tools/stm32cubemx.html",[85],[18,187,188,189],{},"ALIENTEK supporting materials 1 (Drive A materials F1): ",[81,190,193],{"href":191,"rel":192},"http://www.openedv.com/docs/boards/stm32/zdyz%5C_stm32f103%5C_warshipV4.html",[85],"http://www.openedv.com/docs/boards/stm32/zdyz\\_stm32f103\\_warshipV4.html",[18,195,196,197],{},"ALIENTEK supporting materials 2 (Drive A materials F4): ",[81,198,201],{"href":199,"rel":200},"http://www.openedv.com/docs/boards/stm32/zdyz%5C_stm32f407%5C_explorerV3.html",[85],"http://www.openedv.com/docs/boards/stm32/zdyz\\_stm32f407\\_explorerV3.html",[78,203,204],{},[149,205],{"alt":151,"src":206},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/10/image2.webp",[78,208,209],{},[149,210],{"alt":151,"src":211},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/10/image3.webp",[78,213,214],{},[149,215],{"alt":151,"src":216},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/10/image4.webp",[10,218,220,221],{"id":219},"arm-keil-mdk-5-vscode-keil-assistant-not-recommended","Arm Keil MDK 5 + VScode (Keil Assistant) ",[57,222,223],{},"Not Recommended",[61,225,64],{"id":226},"introduction-1",[15,228,229],{},[18,230,231,232,235],{},"This approach is a compromise, falling somewhere between MDK5 and MDK6, and can avoid some of MDK5's shortcomings. (However, because the C/C++ plugin is too poor, it is ",[24,233,234],{},"not recommended",".)",[61,237,76],{"id":238},"windows-1",[240,241,243],"h5",{"id":242},"configuration-tutorial","Configuration Tutorial:",[78,245,246],{},"Quick configuration video:",[78,248,249],{},[81,250,251],{"href":251,"rel":252},"https://www.bilibili.com/video/BV18e4y1H7xX",[85],[78,254,255],{},"If you encounter any issues, please refer to the video below:",[78,257,258],{},[81,259,260],{"href":260,"rel":261},"https://www.bilibili.com/video/BV19V411g7gD/",[85],[15,263,264,267],{},[18,265,266],{},"Please install software such as MDK5, CubeMX, VScode, etc.",[18,268,269],{},"Install VScode plugins",[78,271,272],{},[149,273],{"alt":151,"src":274},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/10/image5.webp",[15,276,278],{"start":277},3,[18,279,280,281,286,288,291,296,298,301,307,309,312],{},"Configure Keil Assistant",[15,282,283],{},[18,284,285],{},"Click on extension settings.",[146,287],{},[149,289],{"alt":151,"src":290},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/10/image6.webp",[15,292,293],{"start":277},[18,294,295],{},"Find the path to MDK5",[146,297],{},[149,299],{"alt":151,"src":300},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/10/image7.webp",[15,302,304],{"start":303},5,[18,305,306],{},"Copy the path.",[146,308],{},[149,310],{"alt":151,"src":311},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/10/image8.webp",[15,313,315],{"start":314},7,[18,316,317],{},"Paste the path you just copied.",[78,319,320],{},[149,321],{"alt":151,"src":322},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/10/image9.webp",[15,324,326,349],{"start":325},4,[18,327,328,329,334,336,339,341,344,346],{},"Open an MDK5 project with VSCode",[15,330,331],{},[18,332,333],{},"Open the project.",[146,335],{},[149,337],{"alt":151,"src":338},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/10/image10.webp",[146,340],{},[149,342],{"alt":151,"src":343},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/10/image11.webp",[146,345],{},[149,347],{"alt":151,"src":348},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/10/image12.webp",[18,350,351],{},"Then you can edit the source code using VSCode.",[78,353,354],{},[149,355],{"alt":151,"src":356},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/10/image13.webp",[240,358,360],{"id":359},"notes-must-read","Notes (Must Read):",[362,363,365],"h6",{"id":364},"notes","Notes",[15,367,368,375,378,381,384],{},[18,369,370,371,374],{},"This approach is merely a ",[24,372,373],{},"compromise solution"," — slightly better than using MDK5 alone, but far less convenient than MDK6.",[18,376,377],{},"VScode is only responsible for code editing (it is recommended not to use features like compilation in Keil Assistant).",[18,379,380],{},"MDK5 is responsible for compiling, downloading, debugging, adding source files, header files, and all other operations.",[18,382,383],{},"Advantages: Resolves the issue of the \"go to definition\" feature failing in the AC6 compiler (AC6 has all advantages, this is its only drawback); addresses the eye-strain problem of MDK5's outdated interface; fixes MDK5's poor code suggestions; allows the use of various VSCode extensions to improve editing efficiency.",[18,385,386],{},"Disadvantages: You need to keep both VSCode and MDK5 open at the same time, each handling its own tasks, which is not unified. Although the code suggestions from the C/C++ plugin are better than those in MDK5, they are still quite poor (far inferior to MDK6 + Clangd).",[362,388,390],{"id":389},"the-text-has-encoding-issues","The text 🦟 has encoding issues.",[15,392,393],{},[18,394,395],{},"The issue is as follows:",[78,397,398],{},[149,399],{"alt":151,"src":400},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/10/image14.webp",[15,402,404],{"start":403},2,[18,405,406],{},"Manually change the encoding (click UTF-8 in the bottom right corner; it's recommended to use the plugin below for a more convenient solution than manual changes):",[78,408,409],{},[149,410],{"alt":151,"src":411},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/10/image15.webp",[78,413,414],{},[149,415],{"alt":151,"src":416},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/10/image16.webp",[78,418,419],{},[149,420],{"alt":151,"src":421},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/10/image17.webp",[78,423,424],{},[149,425],{"alt":151,"src":426},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/10/image18.webp",[15,428,429],{"start":277},[18,430,431],{},"Plugins (The hallmark of VSCode is its abundance of plugins; using VSCode without plugins strips it of its soul).",[78,433,434],{},[149,435],{"alt":151,"src":436},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/10/image19.webp",[78,438,439],{},"This plugin will automatically alert you that the current encoding is problematic, guess the correct encoding, and clicking \"yes\" will automatically fix it.",[78,441,442],{},[149,443],{"alt":151,"src":444},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/10/image20.webp",[362,446,448],{"id":447},"false-positive-error","False positive error",[78,450,451],{},"Don't worry about it, just make sure MDK5 compiles without errors.",[362,453,455],{"id":454},"unable-to-go-to-definition","Unable to go to definition",[78,457,458],{},"(Only do this if there is an issue; if there is no issue, leave it alone.)",[78,460,461],{},[149,462],{"alt":151,"src":463},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/10/image21.webp",[78,465,466],{},[149,467],{"alt":151,"src":468},"https://cdn.tungchiahui.cn/tungwebsite/assets/images/2023/12/10/image22.webp",[78,470,471],{},"Add the following inside the box below: (After adding, there may still be false error reports, but go to definition should work normally.)",[473,474,478],"pre",{"className":475,"code":476,"language":477,"meta":151,"style":151},"language-json shiki shiki-themes github-light github-dark","..\\**\n","json",[479,480,481],"code",{"__ignoreMap":151},[57,482,485],{"class":483,"line":484},"line",1,[57,486,476],{"class":487},"sVt8B",[78,489,490],{},"Or change all absolute paths in the Include Path field to relative paths (only a portion is listed below):",[473,492,494],{"className":475,"code":493,"language":477,"meta":151,"style":151},"..\\applications\\Inc\n..\\bsp\\boards\\Inc\n",[479,495,496,501],{"__ignoreMap":151},[57,497,498],{"class":483,"line":484},[57,499,500],{"class":487},"..\\applications\\Inc\n",[57,502,503],{"class":483,"line":403},[57,504,505],{"class":487},"..\\bsp\\boards\\Inc\n",[10,507,509,510],{"id":508},"arm-keil-mdk-6-based-on-vscode-not-recommended-for-now","Arm Keil MDK 6 (based on VSCode) ",[57,511,512],{},"not recommended for now",[61,514,64],{"id":515},"introduction-2",[15,517,518,521,524,531],{},[18,519,520],{},"Advantages: It improves virtually all known shortcomings of MDK5, making it a true blessing for developers.",[18,522,523],{},"Disadvantages: High learning curve; not manageable without a certain level of computer literacy.",[18,525,526,527,530],{},"Currently, it is ",[24,528,529],{},"not highly recommended for standalone use",", because even if you know how to use it, your teammates may not, making the project incompatible. However, if you have the ability and really want to use MDK6, feel free to do so—the main thing is to use what works best for you.",[18,532,533,534,537],{},"However, ",[24,535,536],{},"it is highly recommended to use them together",", MDK6 in conjunction with MDK5. Use MDK5 to add source files, header files, and perform other operations (don't forget to compile with MDK5 after adding source and header files); use MDK6 to convert the MDK5 project just created, then proceed with source code editing, compilation, debugging, and other operations. (This way, whether your teammates use MDK5 or MDK6, they can open your project and use it directly.) (If you don't understand this, ask your senior.)",[61,539,541],{"id":540},"windows-linux","Windows && Linux",[78,543,544],{},[81,545,547],{"href":546},"/wiki/2024-01-21-arm-keil-mdk6-jiao-cheng","ARM Keil MDK6 Tutorial",[10,549,551,552],{"id":550},"goodbye-keil-mdk-vscodecmake-environment-setup-highly-recommended-for-veterans","Goodbye Keil MDK: VScode+CMake Environment Setup ",[57,553,554],{},"Highly Recommended for Veterans",[78,556,557],{},[24,558,559],{},"(It feels quite comfortable to develop with so far. If the electrical control team leader finds it useful in the future, the IDE can be standardized.)",[78,561,562],{},"Currently, there are three widely used compilers.",[78,564,565],{},"armclang (AC6): Compiles extremely fast with minimal overhead. (Both compilation speed and resource usage are excellent.)",[78,567,568],{},"armcc (AC5): Compilation is extremely slow, but overhead is very small. (Just small overhead.)",[78,570,571],{},"armgcc: Compiles faster, with slightly higher overhead. (Only faster for compilation.)",[78,573,574],{},"So ARM GCC doesn't have that much of an advantage, but it's still acceptable.",[78,576,577],{},"The main difference is that ARMCC and ARMCLANG are commercial compilers, while ARMGCC is an open-source compiler. This allows ARMGCC to be used with tools like CMake and Makefile for better project management, and it also supports all platforms (Windows, Linux, MacOS, etc.).",[78,579,580,581],{},"Detailed tutorial ",[81,582,584],{"href":583},"/wiki/2025-07-18-linux-stm32-cmake-vscode-huan-jing-da-jian","STM32+CMake Project Deployment",[586,587,588],"style",{},"html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":151,"searchDepth":403,"depth":403,"links":590},[591,592,594,596,598],{"id":12,"depth":277,"text":13},{"id":54,"depth":277,"text":593},"Arm Keil MDK 5 + CubeMX Recommended for beginners",{"id":219,"depth":277,"text":595},"Arm Keil MDK 5 + VScode (Keil Assistant) Not Recommended",{"id":508,"depth":277,"text":597},"Arm Keil MDK 6 (based on VSCode) not recommended for now",{"id":550,"depth":277,"text":599},"Goodbye Keil MDK: VScode+CMake Environment Setup Highly Recommended for Veterans","/en-us/wiki/2023-12-10-dian-kong-shi-jue-huan-jing-da-jian/ch2-armkeilmdk-arm-dan-pian-ji-huan-jing-da-jian","2",2000000,"2023-12-10","wiki/2023-12-10-dian-kong-shi-jue-huan-jing-da-jian","en-us:2023-12-10-dian-kong-shi-jue-huan-jing-da-jian","/en-us/wiki/2023-12-10-dian-kong-shi-jue-huan-jing-da-jian","电控视觉环境搭建","md","wiki/2023-12-10-电控视觉环境搭建/ch2-ARMKeilMDK(ARM单片机环境搭建)",false,true,null,"en-US","en-us",{},{"title":5,"description":151},"/wiki/2023-12-10-dian-kong-shi-jue-huan-jing-da-jian/ch2-armkeilmdk-arm-dan-pian-ji-huan-jing-da-jian","_i18n/en-us/wiki/2023-12-10-电控视觉环境搭建/ch2-ARMKeilMDK(ARM单片机环境搭建)","I9F4aePAovXLDpf8JBzwwG6rZzhPdvFyxysgiWfRT6E",[621,627,628,634,640,646,652,658,664,670],{"path":622,"stem":623,"title":624,"date":603,"chapter":625,"chapterSort":626,"docKey":605,"docRoot":606,"docTitle":607,"isWikiDoc":611,"isWikiIndex":610},"/en-us/wiki/2023-12-10-dian-kong-shi-jue-huan-jing-da-jian/ch1-c-c-huan-jing-da-jian","_i18n/en-us/wiki/2023-12-10-电控视觉环境搭建/ch1-C_C++环境搭建","C/C++ environment setup","1",1000000,{"path":600,"stem":618,"title":5,"date":603,"chapter":601,"chapterSort":602,"docKey":605,"docRoot":606,"docTitle":607,"isWikiDoc":611,"isWikiIndex":610},{"path":629,"stem":630,"title":631,"date":603,"chapter":632,"chapterSort":633,"docKey":605,"docRoot":606,"docTitle":607,"isWikiDoc":611,"isWikiIndex":610},"/en-us/wiki/2023-12-10-dian-kong-shi-jue-huan-jing-da-jian/ch3-linux-ji-ben-pei-zhi","_i18n/en-us/wiki/2023-12-10-电控视觉环境搭建/ch3-Linux基本配置","Basic Linux Configuration","3",3000000,{"path":635,"stem":636,"title":637,"date":603,"chapter":638,"chapterSort":639,"docKey":605,"docRoot":606,"docTitle":607,"isWikiDoc":611,"isWikiIndex":610},"/en-us/wiki/2023-12-10-dian-kong-shi-jue-huan-jing-da-jian/ch4-cmake-gong-cheng-da-jian","_i18n/en-us/wiki/2023-12-10-电控视觉环境搭建/ch4-CMake工程搭建","CMake project setup","4",4000000,{"path":641,"stem":642,"title":643,"date":603,"chapter":644,"chapterSort":645,"docKey":605,"docRoot":606,"docTitle":607,"isWikiDoc":611,"isWikiIndex":610},"/en-us/wiki/2023-12-10-dian-kong-shi-jue-huan-jing-da-jian/ch5-opencv-cuda-huan-jing-da-jian","_i18n/en-us/wiki/2023-12-10-电控视觉环境搭建/ch5-OpenCV__CUDA环境搭建","OpenCV CUDA Environment Setup","5",5000000,{"path":647,"stem":648,"title":649,"date":603,"chapter":650,"chapterSort":651,"docKey":605,"docRoot":606,"docTitle":607,"isWikiDoc":611,"isWikiIndex":610},"/en-us/wiki/2023-12-10-dian-kong-shi-jue-huan-jing-da-jian/ch6-yolo-huan-jing-da-jian","_i18n/en-us/wiki/2023-12-10-电控视觉环境搭建/ch6-YOLO环境搭建","YOLO environment setup","6",6000000,{"path":653,"stem":654,"title":655,"date":603,"chapter":656,"chapterSort":657,"docKey":605,"docRoot":606,"docTitle":607,"isWikiDoc":611,"isWikiIndex":610},"/en-us/wiki/2023-12-10-dian-kong-shi-jue-huan-jing-da-jian/ch7-ros-huan-jing-da-jian","_i18n/en-us/wiki/2023-12-10-电控视觉环境搭建/ch7-ROS环境搭建","ROS environment setup","7",7000000,{"path":659,"stem":660,"title":661,"date":603,"chapter":662,"chapterSort":663,"docKey":605,"docRoot":606,"docTitle":607,"isWikiDoc":611,"isWikiIndex":610},"/en-us/wiki/2023-12-10-dian-kong-shi-jue-huan-jing-da-jian/ch8-qt-huan-jing-da-jian","_i18n/en-us/wiki/2023-12-10-电控视觉环境搭建/ch8-QT环境搭建","QT environment setup","8",8000000,{"path":665,"stem":666,"title":667,"date":603,"chapter":668,"chapterSort":669,"docKey":605,"docRoot":606,"docTitle":607,"isWikiDoc":611,"isWikiIndex":610},"/en-us/wiki/2023-12-10-dian-kong-shi-jue-huan-jing-da-jian/ch9-docker-huan-jing-da-jian","_i18n/en-us/wiki/2023-12-10-电控视觉环境搭建/ch9-Docker环境搭建","Docker environment setup","9",9000000,{"path":606,"stem":671,"title":672,"date":603,"chapter":612,"chapterSort":673,"docKey":605,"docRoot":606,"docTitle":607,"isWikiDoc":611,"isWikiIndex":611},"_i18n/en-us/wiki/2023-12-10-电控视觉环境搭建/index","Electrical Control Vision Environment Setup",0,{"variants":675},[676,677,680,683,686],{"path":600,"localeSlug":614,"i18nKey":609},{"path":678,"localeSlug":679,"i18nKey":609},"/zh-hant/wiki/2023-12-10-dian-kong-shi-jue-huan-jing-da-jian/ch2-armkeilmdk-arm-dan-pian-ji-huan-jing-da-jian","zh-hant",{"path":681,"localeSlug":682,"i18nKey":609},"/zh-hk/wiki/2023-12-10-dian-kong-shi-jue-huan-jing-da-jian/ch2-armkeilmdk-arm-dan-pian-ji-huan-jing-da-jian","zh-hk",{"path":684,"localeSlug":685,"i18nKey":609},"/zh-tw/wiki/2023-12-10-dian-kong-shi-jue-huan-jing-da-jian/ch2-armkeilmdk-arm-dan-pian-ji-huan-jing-da-jian","zh-tw",{"path":687,"localeSlug":688,"i18nKey":609},"/zh-cn/wiki/2023-12-10-dian-kong-shi-jue-huan-jing-da-jian/ch2-armkeilmdk-arm-dan-pian-ji-huan-jing-da-jian","zh-cn",[600,617,678,617,681,617,684,617,687,617],1780673987416]