id: d609edf9e71340a79e33011f0dc37e76
parent_id: 
item_type: 1
item_id: 5043ec14a39048d18694b1648c83012f
item_updated_time: 1764345590053
title_diff: "[{\"diffs\":[[1,\"Openwrt 交叉编译(Crosscompile)及使用SDK生成ipk安装包  YJ的\"]],\"start1\":0,\"start2\":0,\"length1\":0,\"length2\":45}]"
body_diff: "[{\"diffs\":[[1,\"<html>\\\r\\\n<head>\\\r\\\n  <title>Openwrt 交叉编译(Crosscompile)及使用SDK生成ipk安装包 | YJ的Blog</title>\\\r\\\n  <basefont face=\\\"微软雅黑\\\" size=\\\"2\\\" />\\\r\\\n  <meta http-equiv=\\\"Content-Type\\\" content=\\\"text/html;charset=utf-8\\\" />\\\r\\\n  <meta name=\\\"exporter-version\\\" content=\\\"YXBJ Windows/608924 (zh-CN, DDL); Windows/10.0.0 (Win64); EDAMVersion=V2;\\\"/>\\\r\\\n  <meta name=\\\"application-data:2525275\\\" content=\\\"6692893/s30/5c3028fc-c25b-4fe0-8f06-c8fca214357f/app.yinxiang.com\\\"/>\\\r\\\n  <meta name=\\\"application-data:ANDROID_CLIP_TYPE\\\" content=\\\"article\\\"/>\\\r\\\n  <style>\\\r\\\n\\tbody, td {\\\r\\\n\\t  font-family: 微软雅黑;\\\r\\\n\\t  font-size: 12pt;\\\r\\\n\\t}\\\r\\\n  </style>\\\r\\\n</head>\\\r\\\n<body>\\\r\\\n<a name=\\\"19638\\\"></a>\\\r\\\n<h1>Openwrt 交叉编译(Crosscompile)及使用SDK生成ipk安装包 | YJ的Blog</h1>\\\r\\\n\\\r\\\n<div>\\\n<span><div style=\\\"font-size: 16px\\\"><div style=\\\"background: rgb(240, 243, 245); font-size: 16px;\\\"><div style=\\\"margin: 0px 0px 5%; padding: 0px; box-shadow: rgba(0, 0, 0, 0.06) 0px 1px 1px; background-color: rgb(255, 255, 255);\\\"><div style=\\\"margin-bottom: 3%; position: relative; padding: 3%; border-bottom: 1px solid rgba(0, 0, 0, 0.067);\\\"><h1 style=\\\"font-size: 1.714em; margin: 0px; clear: left; float: none; max-width: 100%; width: 100%;\\\"><span style=\\\"font-family: Oxygen, sans-serif; color: rgb(37, 37, 37); font-weight: 400;\\\">Openwrt 交叉编译(Crosscompile)及使用SDK生成ipk安装包</span></h1><div style=\\\"font-size: 0.875em; float: none; width: 100%; max-width: 100%;\\\"><span style=\\\"font-family: Oxygen, sans-serif; color: rgb(149, 149, 149);\\\">2015年3月17日</span></div></div><div style=\\\"margin:0px 0px 2.34375%;padding:0px 3%;margin-bottom:3%;\\\"><h2 style=\\\"clear: both; font-size: 1.571em; margin: 1.5em 0px 0.5em;\\\"><span style=\\\"font-family: Oxygen, sans-serif; color: rgb(69, 69, 69); font-weight: 700;\\\">Openwrt交叉编译</span></h2><div style=\\\"margin: 0px 0px 1.5em;\\\"><span style=\\\"font-size: 16px; font-family: Oxygen, sans-serif; color: rgb(69, 69, 69);\\\">首先我先介绍下什么是交叉编译:</span></div><div style=\\\"margin: 0px 0px 1.5em;\\\"><span style=\\\"font-size: 16px; font-family: Oxygen, sans-serif; color: rgb(69, 69, 69);\\\">交叉编译，简单的说就是,就是在一个平台上生成另一个平台上的可执行文件，举个例子,我我用我的电脑(x86_64平台)编译出路由器(mips-AR71XX)上可以执行的二进制文件，要进行交叉编译首先就要有对应平台的编译器。</span></div><div style=\\\"margin: 0px 0px 1.5em;\\\"><span style=\\\"font-size: 16px; font-family: Oxygen, sans-serif; color: rgb(69, 69, 69);\\\">Openwrt的交叉编译并不复杂。</span></div><div style=\\\"margin: 0px 0px 1.5em;\\\"><span style=\\\"font-size: 16px; font-family: Oxygen, sans-serif; color: rgb(69, 69, 69);\\\">第一步，你需要得到toolchain(工具链)，我个人理解这个就相当于编译器</span></div><div style=\\\"margin: 0px 0px 1.5em;\\\"><span style=\\\"font-size: 16px; font-family: Oxygen, sans-serif; color: rgb(69, 69, 69);\\\">如何得到toolchian呢？有两种方法</span></div><div style=\\\"text-align:center;width:100%;height:auto;clear:none;\\\"><div style=\\\"background: transparent; margin: 10px auto 21px; height: 60px;\\\"><ins style=\\\"background: transparent; display: inline-table; border: none; height: 60px; margin: 0px; padding: 0px; position: relative; visibility: visible; width: 564px;\\\"><div style=\\\"background: transparent; border: none; height: 60px; margin: 0px; padding: 0px; position: relative; visibility: visible; width: 564px;\\\"><div style=\\\"max-width: 100%; left: 0px; position: absolute; top: 0px;\\\"><div style=\\\"text-decoration: none; background: transparent; margin: 10px auto 21px; height: 60px;\\\"></div></div></div></ins></div></div><div style=\\\"margin: 0px 0px 1.5em;\\\"><span style=\\\"font-size: 16px; font-family: Oxygen, sans-serif; color: rgb(69, 69, 69);\\\">1.到openwrt下载(要注意平台,比如我的路由器是tp-wr703n,所对应的平台就是AR71XX,就要到http://downloads.openwrt.org/barrier_breaker/14.07/ar71xx/generic/下载  OpenWrt-Toolchain-ar71xx-for-mips_34kc-gcc-4.8-linaro_uClibc-0.9.33.2.tar.bz2</span></div><div style=\\\"margin: 0px 0px 1.5em;\\\"><span style=\\\"font-size: 16px; font-family: Oxygen, sans-serif; color: rgb(69, 69, 69);\\\">2.自己编译,在编译固件时可以看到有编译toolchain的选项(如果不知道我在说什么的话，先学习下openwrt编译)</span><a href=\\\"http://www.yjblog.net/wp-content/uploads/2015/03/2015-03-17-164511%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE.png\\\" style=\\\"background-color: transparent; font-size: 16px; font-family: Oxygen, sans-serif; color: rgb(15, 165, 217); text-decoration: none;\\\"><img src=\\\":/a936942800bb472f98033b432cd669db\\\" type=\\\"image/png\\\" data-filename=\\\"Image.png\\\" alt=\\\"2015-03-17 16:45:11屏幕截图\\\" style=\\\"cursor: default; height: auto;\\\" width=\\\"729\\\"/></a><span style=\\\"font-size: 16px; font-family: Oxygen, sans-serif; color: rgb(69, 69, 69);\\\">得到工具链后将其解压</span></div><div style=\\\"margin: 0px 0px 1.5em;\\\"><span style=\\\"font-size: 16px; font-family: Oxygen, sans-serif; color: rgb(69, 69, 69);\\\">第二步，设置环境变量</span></div><div style=\\\"margin: 0px 0px 1.5em;\\\"><span style=\\\"font-size: 16px; font-family: Oxygen, sans-serif; color: rgb(69, 69, 69);\\\">这里只有两个变量需要设置</span></div><div style=\\\"margin: 0px 0px 1.5em;\\\"><span style=\\\"font-size: 16px; font-family: Oxygen, sans-serif; color: rgb(69, 69, 69);\\\">1.将工具链中的bin文件夹加入PATH</span></div><div style=\\\"margin: 0px 0px 1.5em;\\\"><span style=\\\"font-size: 16px; font-family: Oxygen, sans-serif; color: rgb(69, 69, 69);\\\">2.添加一个STAGING_DIR  变量，将其指向放toolchain的文件夹，比如我把toolchain解压到了/home/yj/openwrt/mips-linux-gcc/下,就把STAGING_DIR 的值赋为/home/yj/openwrt/mips-linux-gcc/</span></div><div style=\\\"margin: 0px 0px 1.5em;\\\"><span style=\\\"font-size: 16px; font-family: Oxygen, sans-serif; color: rgb(69, 69, 69);\\\">环境变量的作用及设置请自行百度,附我的配置(看前两行)</span></div><div style=\\\"margin: 0px 0px 1.5em;\\\"><a href=\\\"http://www.yjblog.net/wp-content/uploads/2015/03/2015-03-17-165925%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE.png\\\" style=\\\"background-color: transparent; font-size: 16px; font-family: Oxygen, sans-serif; color: rgb(15, 165, 217); text-decoration: none;\\\"><img src=\\\":/5ae62651f78449a1898fffe57fd5ce25\\\" type=\\\"image/png\\\" data-filename=\\\"Image.png\\\" alt=\\\"2015-03-17 16:59:25屏幕截图\\\" style=\\\"cursor: default; height: auto;\\\" width=\\\"729\\\"/></a></div><div style=\\\"margin: 0px 0px 1.5em;\\\"><span style=\\\"font-size: 16px; font-family: Oxygen, sans-serif; color: rgb(69, 69, 69);\\\">第三步，进行编译</span></div><div style=\\\"margin: 0px 0px 1.5em;\\\"><span style=\\\"font-size: 16px; font-family: Oxygen, sans-serif; color: rgb(69, 69, 69);\\\">设置好环境变量后，可以检验一下,在shell中输入编译器的前几部分，看是否可以自动补全</span></div><div style=\\\"margin: 0px 0px 1.5em;\\\"><a href=\\\"http://www.yjblog.net/wp-content/uploads/2015/03/2015-03-17-170421%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE.png\\\" style=\\\"background-color: transparent; font-size: 16px; font-family: Oxygen, sans-serif; color: rgb(15, 165, 217); text-decoration: none;\\\"><img src=\\\":/fe2633424a8f40cabc5d3203a0cccc4f\\\" type=\\\"image/png\\\" data-filename=\\\"Image.png\\\" alt=\\\"2015-03-17 17:04:21屏幕截图\\\" style=\\\"cursor: default; height: auto;\\\" width=\\\"729\\\"/></a></div><div style=\\\"margin: 0px 0px 1.5em;\\\"><span style=\\\"font-size: 16px; font-family: Oxygen, sans-serif; color: rgb(69, 69, 69);\\\">接着我们就可以进行编译了</span></div><div style=\\\"margin: 0px 0px 1.5em;\\\"><span style=\\\"font-size: 16px; font-family: Oxygen, sans-serif; color: rgb(69, 69, 69);\\\">1.编译单个文件,就像普通的编译一样，只不过把gcc换成了交叉编译的编译器  执行  mips-openwrt-linux-uclibc-gcc test.c -o test    得到的test就是路由器上可以执行的文件</span></div><div style=\\\"margin: 0px 0px 1.5em;\\\"><span style=\\\"font-size: 16px; font-family: Oxygen, sans-serif; color: rgb(69, 69, 69);\\\">2.编译软件，在./configure 时加上–host=mips-openwrt-linux-uclibc</span></div><div style=\\\"margin: 0px 0px 1.5em;\\\"><span style=\\\"font-size: 16px; font-family: Oxygen, sans-serif; color: rgb(69, 69, 69);\\\">以mentohust为例</span></div><div style=\\\"margin: 0px 0px 1.5em;\\\"><a href=\\\"http://www.yjblog.net/wp-content/uploads/2015/03/2015-03-17-172052%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE.png\\\" style=\\\"background-color: transparent; font-size: 16px; font-family: Oxygen, sans-serif; color: rgb(15, 165, 217); text-decoration: none;\\\"><img src=\\\":/6dd07a63f4604806940461da6ceea18c\\\" type=\\\"image/png\\\" data-filename=\\\"Image.png\\\" alt=\\\"2015-03-17 17:20:52屏幕截图\\\" style=\\\"cursor: default; height: auto;\\\" width=\\\"729\\\"/></a></div><div style=\\\"margin: 0px 0px 1.5em;\\\"><span style=\\\"font-size: 16px; font-family: Oxygen, sans-serif; color: rgb(69, 69, 69);\\\">再执行make 命令就可以生成可执行文件了</span></div><div style=\\\"margin: 0px 0px 1.5em;\\\"><a href=\\\"http://www.yjblog.net/wp-content/uploads/2015/03/2015-03-17-172345%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE.png\\\" style=\\\"background-color: transparent; font-size: 16px; font-family: Oxygen, sans-serif; color: rgb(15, 165, 217); text-decoration: none;\\\"><img src=\\\":/7b874db519a64c0881ad396990817dc2\\\" type=\\\"image/png\\\" data-filename=\\\"Image.png\\\" alt=\\\"2015-03-17 17:23:45屏幕截图\\\" style=\\\"cursor: default; height: auto;\\\" width=\\\"827\\\"/></a></div><div style=\\\"margin: 0px 0px 1.5em;\\\"><span style=\\\"font-size: 16px; font-family: Oxygen, sans-serif; color: rgb(69, 69, 69);\\\">在src文件夹中就可以看到mentohust的可执行文件已经生成</span></div><h2 style=\\\"clear: both; font-size: 1.571em; margin: 1.5em 0px 0.5em;\\\"><span style=\\\"font-family: Oxygen, sans-serif; color: rgb(69, 69, 69); font-weight: 700;\\\">利用SDK来生成ipk文件</span></h2><div style=\\\"margin: 0px 0px 1.5em;\\\"><span style=\\\"font-size: 16px; font-family: Oxygen, sans-serif; color: rgb(69, 69, 69);\\\">SDK中其实是包含toolchain的，SDK就是将编译好的文件在打包到一个ipk中，便于安装。</span></div><div style=\\\"margin: 0px 0px 1.5em;\\\"><span style=\\\"font-size: 16px; font-family: Oxygen, sans-serif; color: rgb(69, 69, 69);\\\">SDK与toolchain一样，可以自己编译也可以从网上下载，不过我试了下直接下载的使用有问题，而自己编译的可以使用。</span></div><div style=\\\"margin: 0px 0px 1.5em;\\\"><span style=\\\"font-size: 16px; font-family: Oxygen, sans-serif; color: rgb(69, 69, 69);\\\">SDK生成ipk包时需要的只是一个makefile文件，makefile里写了所需下载的文件、生成规则、软件版本、类型等。makefile的写法可以到openwrt的官方wiki中找到。</span></div><div style=\\\"margin: 0px 0px 1.5em;\\\"><span style=\\\"font-size: 16px; font-family: Oxygen, sans-serif; color: rgb(69, 69, 69);\\\">再次以mentohust为例生成ipk包。</span></div><div style=\\\"margin: 0px 0px 1.5em;\\\"><a href=\\\"http://www.yjblog.net/wp-content/uploads/2015/03/mentohust.tar.gz\\\" style=\\\"background-color: transparent; font-size: 16px; font-family: Oxygen, sans-serif; color: rgb(15, 165, 217); text-decoration: none;\\\">mentohust.tar.gz</a><span style=\\\"font-size: 16px; font-family: Oxygen, sans-serif; color: rgb(69, 69, 69);\\\"> 这是其makefile文件</span></div><div style=\\\"margin: 0px 0px 1.5em;\\\"><span style=\\\"font-size: 16px; font-family: Oxygen, sans-serif; color: rgb(69, 69, 69);\\\">解压后的文件夹放到SDK的package文件夹中</span></div><div style=\\\"margin: 0px 0px 1.5em;\\\"><a href=\\\"http://www.yjblog.net/wp-content/uploads/2015/03/2015-03-17-184352%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE.png\\\" style=\\\"background-color: transparent; font-size: 16px; font-family: Oxygen, sans-serif; color: rgb(15, 165, 217); text-decoration: none;\\\"><img src=\\\":/99a716a6eaf14dcfae71dcfa91938f9a\\\" type=\\\"image/png\\\" data-filename=\\\"Image.png\\\" alt=\\\"2015-03-17 18:43:52屏幕截图\\\" style=\\\"cursor: default; height: auto;\\\" width=\\\"827\\\"/></a></div><div style=\\\"margin: 0px 0px 1.5em;\\\"><span style=\\\"font-size: 16px; font-family: Oxygen, sans-serif; color: rgb(69, 69, 69);\\\">然后执行  make package/mentohust/compile</span></div><div style=\\\"margin: 0px 0px 1.5em;\\\"><span style=\\\"font-size: 16px; font-family: Oxygen, sans-serif; color: rgb(69, 69, 69);\\\">这是编译指定包，编译package里所有的包的话直接 make就可以了</span></div><div style=\\\"margin: 0px 0px 1.5em;\\\"><a href=\\\"http://www.yjblog.net/wp-content/uploads/2015/03/2015-03-17-193009%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE.png\\\" style=\\\"background-color: transparent; font-size: 16px; font-family: Oxygen, sans-serif; color: rgb(15, 165, 217); text-decoration: none;\\\"><img src=\\\":/76adc3c5bff64f0fa39c95c755c00776\\\" type=\\\"image/png\\\" data-filename=\\\"Image.png\\\" alt=\\\"2015-03-17 19:30:09屏幕截图\\\" style=\\\"cursor: default; height: auto;\\\" width=\\\"729\\\"/></a></div><div style=\\\"margin: 0px 0px 1.5em;\\\"><span style=\\\"font-size: 16px; font-family: Oxygen, sans-serif; color: rgb(69, 69, 69);\\\">编译后，生成ipk包</span></div><div style=\\\"margin: 0px 0px 1.5em;\\\"><a href=\\\"http://www.yjblog.net/wp-content/uploads/2015/03/2015-03-17-184416%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE.png\\\" style=\\\"background-color: transparent; font-size: 16px; font-family: Oxygen, sans-serif; color: rgb(15, 165, 217); text-decoration: none;\\\"><img src=\\\":/11f3f510917149abbe6cff524d140cb6\\\" type=\\\"image/png\\\" data-filename=\\\"Image.png\\\" alt=\\\"2015-03-17 18:44:16屏幕截图\\\" style=\\\"cursor: default; height: auto;\\\" width=\\\"827\\\"/></a></div><div style=\\\"margin: 0px;\\\"><span style=\\\"font-size: 16px; font-family: Oxygen, sans-serif; color: rgb(69, 69, 69);\\\"> </span></div></div><div style=\\\"font-size: 0.875em; padding: 3%; border-top: 1px solid rgba(0, 0, 0, 0.067);\\\"><div style=\\\"margin: 0px;\\\"><a href=\\\"http://www.yjblog.net/post/author/yangjin\\\" style=\\\"background-color: transparent; font-family: Oxygen, sans-serif; color: rgb(15, 165, 217); text-decoration: none;\\\"></a><a href=\\\"http://www.yjblog.net/post/author/yangjin\\\" style=\\\"font-size: 14px; font-family: icons-font; background-color: transparent; color: rgb(15, 165, 217); text-decoration: none; font-style: normal; font-variant: normal; font-weight: normal; text-rendering: auto; -webkit-font-smoothing: antialiased; text-transform: none;\\\">v</a> Posted by yangjin <span style=\\\"display: inline-block; vertical-align: -10%;\\\"><span style=\\\"text-rendering: auto; -webkit-font-smoothing: antialiased; font-size: 14px; text-transform: none !important; font-family: icons-font; color: rgb(15, 165, 217); font-style: normal; font-variant: normal; font-weight: normal;\\\">I</span></span> <a href=\\\"http://www.yjblog.net/post/tag/crosscompile\\\" rel=\\\"tag\\\" style=\\\"background-color: transparent; font-family: Oxygen, sans-serif; color: rgb(15, 165, 217); text-decoration: none;\\\">crosscompile</a><span style=\\\"font-family: Oxygen, sans-serif; color: rgb(149, 149, 149);\\\">,</span> <a href=\\\"http://www.yjblog.net/post/tag/openwrt\\\" rel=\\\"tag\\\" style=\\\"background-color: transparent; font-family: Oxygen, sans-serif; color: rgb(15, 165, 217); text-decoration: none;\\\">openwrt</a><span style=\\\"font-family: Oxygen, sans-serif; color: rgb(149, 149, 149);\\\">,</span> <a href=\\\"http://www.yjblog.net/post/tag/%e4%ba%a4%e5%8f%89%e7%bc%96%e8%af%91\\\" rel=\\\"tag\\\" style=\\\"background-color: transparent; font-family: Oxygen, sans-serif; color: rgb(15, 165, 217); text-decoration: none;\\\">交叉编译</a> <a href=\\\"http://www.yjblog.net/post/123.html#comments\\\" style=\\\"background-color: transparent; font-family: Oxygen, sans-serif; color: rgb(15, 165, 217); text-decoration: none;\\\"></a><a href=\\\"http://www.yjblog.net/post/123.html#comments\\\" style=\\\"font-size: 14px; font-family: icons-font; background-color: transparent; color: rgb(15, 165, 217); text-decoration: none; font-style: normal; font-variant: normal; font-weight: normal; text-rendering: auto; -webkit-font-smoothing: antialiased; text-transform: none;\\\">l</a> 1 Comment</div></div></div><div style=\\\"margin: 0px 0px 5%; overflow: hidden; padding: 3%; box-shadow: rgba(0, 0, 0, 0.06) 0px 1px 1px; background-color: rgb(255, 255, 255);\\\"><div style=\\\"float:left;width:50%;\\\"><a href=\\\"http://www.yjblog.net/post/115.html\\\" rel=\\\"prev\\\" style=\\\"background-color: transparent; font-size: 16px; font-family: Oxygen, sans-serif; color: rgb(15, 165, 217); text-decoration: none;\\\">« Banana Pro</a></div></div><div style=\\\"margin:5% 0px;font-size:0.929em;padding:3%;-webkit-box-shadow:rgba(0, 0, 0, 0.0588235) 0px 1px 1px;box-shadow:rgba(0, 0, 0, 0.0588235) 0px 1px 1px;background-color:rgb(255, 255, 255);\\\"><h3 style=\\\"clear: both; font-size: 1.385em; margin: 0px 0px 1.5em;\\\"><span style=\\\"font-family: Oxygen, sans-serif; color: rgb(53, 53, 53); font-weight: 700;\\\">One thought on “Openwrt 交叉编译(Crosscompile)及使用SDK生成ipk安装包”</span></h3><ol style=\\\"margin:1em 0px;list-style:decimal;\\\"><li style=\\\"list-style-type:none;margin:0px 0px 1.5em;\\\"><div><span style=\\\"font-family: Oxygen, sans-serif; color: rgb(69, 69, 69);\\\"><img src=\\\":/7ffdcd62d8304c6985b499f8b5e63a88\\\" type=\\\"image/jpeg\\\" data-filename=\\\"Image.jpg\\\" style=\\\"cursor: default;\\\" width=\\\"40\\\"/></span> <a href=\\\"http://www.yunhoho.94zhuan.com/\\\" rel=\\\"external nofollow\\\" style=\\\"background-color: transparent; font-family: Oxygen, sans-serif; font-style: italic; color: rgb(15, 165, 217); text-decoration: none;\\\">yunhoho</a> <span style=\\\"font-family: Oxygen, sans-serif; color: rgb(69, 69, 69);\\\">says:</span></div><div><a href=\\\"http://www.yjblog.net/post/123.html#comment-98\\\" style=\\\"background-color: transparent; font-family: Oxygen, sans-serif; color: rgb(15, 165, 217); text-decoration: none;\\\">2015年6月17日 at 上午8:47</a></div><div style=\\\"clear:both;padding:0.5em 0px;\\\"><div style=\\\"margin: 0px;\\\"><span style=\\\"font-family: Oxygen, sans-serif; color: rgb(69, 69, 69);\\\">我就是随便看看</span></div></div><div><a href=\\\"http://www.yjblog.net/post/123.html?replytocom=98#respond\\\" rel=\\\"nofollow\\\" style=\\\"background-color: transparent; font-family: Oxygen, sans-serif; color: rgb(15, 165, 217); text-decoration: none;\\\">回复</a></div></li></ol><div><h3 style=\\\"clear: both; font-size: 1.385em; margin: 0px 0px 0.5em;\\\"><span style=\\\"font-family: Oxygen, sans-serif; color: rgb(53, 53, 53); font-weight: 700;\\\">发表评论</span></h3><div><div style=\\\"margin: 0px 0px 1.5em;\\\"><span style=\\\"font-family: Oxygen, sans-serif; color: rgb(69, 69, 69);\\\">电子邮件地址不会被公开。 必填项已用*标注</span></div><div style=\\\"margin: 0px 0px 1.5em;\\\"><span style=\\\"display: inline-block; font-family: Oxygen, sans-serif; color: rgb(69, 69, 69); font-weight: 700;\\\">姓名 *</span></div><div style=\\\"margin: 0px 0px 1.5em;\\\"><span style=\\\"display: inline-block; font-family: Oxygen, sans-serif; color: rgb(69, 69, 69); font-weight: 700;\\\">电子邮件 *</span></div><div style=\\\"margin: 0px 0px 1.5em;\\\"><span style=\\\"display: inline-block; font-family: Oxygen, sans-serif; color: rgb(69, 69, 69); font-weight: 700;\\\">站点</span></div><div style=\\\"margin: 0px 0px 1.5em;\\\"><span style=\\\"display: inline-block; font-family: Oxygen, sans-serif; color: rgb(69, 69, 69); font-weight: 700;\\\">评论</span></div><p style=\\\"margin:0px 0px 1.5em;\\\"></p></div></div></div></div></div></span>\\\n</div></body></html>\\u0000\"]],\"start1\":0,\"start2\":0,\"length1\":0,\"length2\":17453}]"
metadata_diff: {"new":{"id":"5043ec14a39048d18694b1648c83012f","parent_id":"f67288c3a0be4374b5d532b5dcc3aabc","latitude":"0.00000000","longitude":"0.00000000","altitude":"0.0000","author":"","source_url":"","is_todo":0,"todo_due":0,"todo_completed":0,"source":"joplin-desktop","source_application":"net.cozic.joplin-desktop","application_data":"","order":1764348823074,"markup_language":2,"is_shared":0,"share_id":"","conflict_original_id":"","master_key_id":"","user_data":"","deleted_time":0},"deleted":[]}
encryption_cipher_text: 
encryption_applied: 0
updated_time: 2025-11-28T21:03:58.075Z
created_time: 2025-11-28T21:03:58.075Z
type_: 13