图像缩略图

使用MATLAB编码器生成JavaScript

版本2.0.2(956KB)由 杰夫·麦克维蒂
使用MATLAB Coder从MATLAB项目创建JavaScript/WebAssembly应用程序和库。
4.8
15级

52下载

更新2019年10月24日

查看版本历史记录

查看许可协议

编者按:该文件被选为MATLAB Central推荐商品

使用MATLAB Coder附加组件和Emscripten编译器生成JavaScript将MATLAB函数转换为高性能的客户端JavaScript/WebAssembly应用程序和库。生成的代码可以在任何现代浏览器中编译、嵌入和运行;包括谷歌Chrome、Mozilla FireFox、微软Edge和苹果Safari。生成的代码也可以在独立的JavaScript引擎中运行,例如NodeJS。

引用为

Geoff McVittie(2021)。使用MATLAB编码器生成JavaScript(//www.tatmou.com/matlabcentral/fileexchange/69973-generate-javascript-using-matlab-coder), MATLAB中央文件交换。检索.

评论和评级(59)

格雷格黑客

…还有一个问题。为了继续前进,我删除了参数,只是为了看看创建了什么javascript。我看到有一些创建的cpp文件已经为我的伪函数转换了代码,但实际上没有做任何事情。但是,只创建了一个js文件,其中包含一系列支持函数,我唯一提到的伪函数是:金宝app
/**@type{function(…*):?}*/
var_gregtestfunction=Module[“_gregtestfunction”]=createExportWrapper(“gregtestfunction”);

我没有找到任何js文件,除了这个,它没有任何javascript代码的函数体。(但是CPP文件可以。)

格雷格黑客

我的Windows PC现在正在构建示例应用程序!我可能不知道到底是什么把它修好了。我认为这是最后的变化:
-根据错误(在emsdk文件夹中),通过命令行进行了几次安装,例如:emsdk install sdk-releases-upstream-89202930a98fe7f9ed59b574469a9471b0bda7dd-64bit
- emsdk_env.bat(有非windows的sh版本)
-emsdk激活
我想上面两个条目中的一个还原了emsdk的最新版本,我没有注意到,所以有一天我假设它是在1.40.1上。一旦我注意到并重新安装了“emsdk安装1.40.1”,它就开始工作了。(使用“emsdk列表”查看安装了什么)

我没有在Mac上工作过,想知道为什么它什么都造不出来。当在MATLAB命令窗口中运行构建命令时,它仍然直接返回到命令提示符。改天再看。

格雷格黑客

@马里尼延胡伊斯
@OluwasegunSomefun
@MariaMartinez
@GeoffMcVittie

非常奇怪!我试图在一行中提交两个消息,它只是取代了我之前的消息下面。上周之前我提交了两条消息。现在我将把这两个信息结合起来,希望这一个能记住。如果突然出现了几条重复的信息,我道歉。

我用Mac和Windows电脑工作。两者都不会运行示例程序。两者都有不同的问题。

-----------------------------------
对于Mac的情况:
-----------------------------------

我从Mac电脑开始,除了我和其他人之前报告的“开始”和“渲染”错误外,它还在工作。

在我能够看到下面几个人对使用v1.40.1 emsdk和清除路径中的空格的巨大反应之前,我尝试了许多其他方法,我想我把我在Mac上的环境搞砸了。现在,当我运行构建步骤时,它立即返回,没有输出。因此,它似乎什么也没做。

>>emsdkRootDir=webcoder.setup.getemscriptenrootdir目录;
Emscripten SDK根目录提供:
/用户/E143543/Desktop/emsdk
> > webcoder.setup.verifyThirdPartyTools (emsdkRootDir);
EMSDK和外部工具已经过验证。
>>emsdkRootDir=webcoder.setup.getemscriptenrootdir目录;
Emscripten SDK根目录提供:
/用户/E143543/Desktop/emsdk
> > webcoder.setup.verifyThirdPartyTools (emsdkRootDir);
EMSDK和外部工具已经过验证。
>>webcoder.setup.savethirdpartytoolpath(emsdkRootDir);
使用网络编码器保存的第三方刀具路径。
>>webcoder.setup.createandregister工具链;
已创建Emscripten工具链定义。
Emscripten工具链注册MATLAB编码器。
>>项目=开放项目(pwd);
> > webcoder.build.project(项目);
> > webcoder.build.project(项目);
>>

-----------------------------------
对于Windows情况:
-----------------------------------

我还删除了空间并安装了emsdk的1.40.1。当我在emsdk目录中运行“emsdk list”时,它显示我只有该版本旁边的“INSTALLED”,没有其他版本。

当我今天早些时候运行时,当我运行createAndRegisterToolchain和构建时,我在onCleanup的析构函数中得到了相同的rmdir错误,但现在我只在构建中得到它。我会说我错了,但我已经做了一个屏幕截图,现在错过了错误。我注意到,尽管安装了1.40.1并且删除了空间,但它仍然像以前一样存在启动和渲染错误。(我还更改了对MATLAB中附加组件的偏好)

我不确定杰夫是否还在matlab工作。他提到他的电子邮件在插件中,但我没有找到它。

以下是Windows的输出:

>>项目=开放项目(pwd);
>>emsdkRootDir=webcoder.setup.getemscriptenrootdir目录;
Emscripten SDK根目录提供:
C: \ \ emsdk项目
> > webcoder.setup.verifyThirdPartyTools (emsdkRootDir);
EMSDK和外部工具已经过验证。
>>webcoder.setup.savethirdpartytoolpath(emsdkRootDir);
使用网络编码器保存的第三方刀具路径。
>>webcoder.setup.createandregister工具链;
已创建Emscripten工具链定义。
Emscripten工具链注册MATLAB编码器。
> > webcoder.build.project(项目);
警告:执行“onCleanup”类析构函数时捕获到以下错误:
使用rmdir时出错
没有删除目录。

错误coder.make.ToolchainInfo / validateToolchain > @()删除文件夹(tempDirName, ' s ')

onCleanup/delete中出错(第81行)
obj.task();

coder.make.ToolchainInfo/validateToolchain中出错

coder.make.ToolchainInfo/validate中出错

coder.make.invokeBuilder中出错

coder.make.invokeBuilder中出错

RTW/genMakefileAndBuild中出错(第305行)
buildResults = coder.make.invokeBuilder……

coder.internal.doCompile误差

emcBuildRTW误差

emcBuildRTW误差

emcGenMakefileAndBuild中出错

emcGenMakefileAndBuild中出错

emcBuildTarget误差

emlcprivate误差

coder.internal.compile中出错

emlckernel误差

emlckernel误差

emlckernel误差

emlcprivate误差

codegen中的错误

webcoder.internal.coder.buildProject中出错

webcoder.build.project中出错(第18行)
webcoder.internal.coder.buildProject(项目);
>在coder.make.ToolchainInfo/validateToolchain中
在coder.make.ToolchainInfo /验证
在coder.make.invokeBuilder
在coder.make.invokeBuilder
在RTW/genMakefileAndBuild中(第305行)
在coder.internal.docomfile中
在emcBuildRTW中
在emcBuildRTW中
在emcGenMakefileAndBuild中
在emcGenMakefileAndBuild中
在emcBuildTarget
在emlcprivate
在coder.internal.compile中
在emlckernel中
在emlckernel中
在emlckernel中
在emlcprivate
在codegen
在webcoder.internal.coder.buildProject中
在webcoder.build.project中(第18行)
------------------------------------------------------------------------
将目录添加到PATH:
路径+=C:\projects\emsdk
PATH+=C:\projects\emsdk\node\14.15.5\u 64bit\bin
路径+ = C: \ \ emsdk \ \ emscripten上游项目

设置环境变量:
PATH=C:\projects\emsdk;C:\projects\emsdk\node\14.15.5\u 64bit\bin;C:\projects\emsdk\upstream\emscripten;C:\ProgramFiles\MATLAB\R2019b\bin\win64;c:\ProgramFiles(x86)\common files\honeywell\u eng\dll;C:\ProgramData\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;c:\ProgramFiles(x86)\Microsoft SQL Server\90\Tools\binn\;C:\ProgramFiles(x86)\Plantronics\Spokes3G\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files(x86)\Intel\Intel(R)管理引擎组件\DAL;C:\Program Files\Intel\Intel(R)管理引擎组件\DAL;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\ProgramFiles\Git\cmd;C:\ProgramFiles\1E\Client\Extensibility\NomadBranch;C:\ProgramFiles\RedHat\java-11-openjdk-11.0.5-2\bin;C:\Program Files\MATLAB\R2021a\runtime\win64;C:\Program Files\MATLAB\R2021a\bin;C:\ProgramFiles\MATLAB\R2019b\runtime\win64;C:\ProgramFiles\MATLAB\R2019b\bin;C:\ProgramFiles\MATLAB\R2019a\runtime\win64;C:\ProgramFiles\MATLAB\R2019a\bin;C:\ProgramFiles\MATLAB\R2018b\runtime\win64;C:\ProgramFiles\MATLAB\R2018b\bin;C:\ProgramFiles\nodejs\;C:\ProgramData\Chocolate\bin;C:\Users\E143543\AppData\Local\Microsoft\WindowsApps;C:\Users\E143543\AppData\Roaming\npm
EMSDK=C:/projects/EMSDK
EM_CONFIG = C: \ \ emsdk \ .emscripten项目
EMSDK\u NODE=C:\projects\EMSDK\NODE\14.15.5\u 64bit\bin\NODE.exe
EMSDK\u PYTHON=C:\projects\EMSDK\PYTHON\3.9.2-1\u 64bit\PYTHON.exe
JAVA\u HOME=C:\projects\emsdk\JAVA\8.152\u 64位
EM_CACHE = C: /项目/ emsdk /上游/ emscripten \缓存
对环境变量所做的更改只应用于当前运行的shell实例。稍后使用'emsdk_env.bat'重新进入这个环境,或者如果您想永久地注册这个环境,可以使用选项——permanent重新运行这个命令。
将以下工具设置为活动工具:
节点-14.15.5-64位
python-3.9.2-1-64位
java - 8.152 - 64位
版本-upstream-89202930a98fe7f9ed59b574469a9471b0bda7dd-64位

em + +。bat - wall化z = c + + 1 o0 -DMODEL = sample1 -DHAVESTDIO -DUSE_RTMODEL ": /霍尼韦尔/联系/本金保证产品/ Matlab / JavascriptCoder / sample1 /构建":/ HONEYW ~ 1 / CONNEC ~ 1 /本金保证产品/ Matlab / JAVASC ~ 1 / sample1 / dist ": / HONEYW ~ 1 / CONNEC ~ 1 /本金保证产品/ Matlab / JAVASC ~ 1 / sample1 ": / / E143543 / AppData /漫游用户/ MATHWO ~ 1 / Matlab ~ 2 / TOOLBO ~ 1 /属~ 1 /包括" -: / / E143543 / AppData /漫游用户/ MATHWO ~ 1 / MATLAB ~ 2 / TOOLBO ~ 1 /属~ 1 / src ": /霍尼韦尔/联系/本金保证产品/ MATLAB / JavascriptCoder / Sample1 / $ {EMSCRIPTEN} /系统/包括":/ PROGRA ~ 1 / MATLAB / R2019b /走读生/包括":/ PROGRA ~ 1 / MATLAB / R2019b /模金宝app型/包括":/ PROGRA ~ 1 / MATLAB / R2019b / rtw / c / src ": / PROGRA ~ 1 / MATLAB / R2019b / rtw / c / src / ext_mode常见": / PROGRA ~ 1 / MATLAB / R2019b / rtw / c / ert - o”主要。bc”“C: /霍尼韦尔/联系/本金保证产品/ Matlab / JavascriptCoder / Sample1 /构建/ main.cpp”
em + +。bat - wall化z = c + + 1 o0 -DMODEL = sample1 -DHAVESTDIO -DUSE_RTMODEL ": /霍尼韦尔/联系/本金保证产品/ Matlab / JavascriptCoder / sample1 /构建":/ HONEYW ~ 1 / CONNEC ~ 1 /本金保证产品/ Matlab / JAVASC ~ 1 / sample1 / dist ": / HONEYW ~ 1 / CONNEC ~ 1 /本金保证产品/ Matlab / JAVASC ~ 1 / sample1 ": / / E143543 / AppData /漫游用户/ MATHWO ~ 1 / Matlab ~ 2 / TOOLBO ~ 1 /属~ 1 /包括" -: / / E143543 / AppData /漫游用户/ MATHWO ~ 1 / MATLAB ~ 2 / TOOLBO ~ 1 /属~ 1 / src ": /霍尼韦尔/联系/本金保证产品/ MATLAB / JavascriptCoder / Sample1 / $ {EMSCRIPTEN} /系统/包括":/ PROGRA ~ 1 / MATLAB / R2019b /走读生/包括":/ PROGRA ~ 1 / MATLAB / R2019b /模金宝app型/包括":/ PROGRA ~ 1 / MATLAB / R2019b / rtw / c / src ": / PROGRA ~ 1 / MATLAB / R2019b / rtw / c / src / ext_mode常见": / PROGRA ~ 1 / MATLAB / R2019b / rtw / c / ert _module_registered_callbacks - o”。bc”“C: /霍尼韦尔/联系/本金保证产品/ Matlab / JavascriptCoder / Sample1 /构建/ _module_registered_callbacks.cpp”
em++.bat-Wall-std=c++1z-O0-DMODEL=sample1-DHAVESTDIO-DUSE_RTMODEL-IC:/Honeywell/Connected/cGPS/Matlab/JavascriptCoder/sample1/build-IC:/HONEYW~1/CONNEC~1/cGPS/Matlab~1/sample1/dist-IC:/HONEYW~1/CONNEC~1/cGPS/Matlab/JAVASC~1/sample1/IC:/Users/E143543/AppData/Roaming/MATHWO~1/Matlab~2/TOOLBO~1/1/包括-IC:/Users/E143543/AppData/Roaming/MATHWO~1/MATLAB~2/TOOLBO~1/generas~1/src-IC:/Honeywell/Connected/cGPS/MATLAB/JavascriptCoder/Sample1/${EMSCRIPTEN}/system/include-IC:/PROGRA-1/MATLAB/R2019b/extern/include-IC:/PROGRA-1/MATLAB/R2019b/simulink/include-IC:/PROGRA-1/MA金宝appTLAB/R2019b/rtw/c/src/R2019b/rtw/c/src/ext_模式/common-IC:/PROGRA-1/MATLAB/R2019b/rtw/c/ert-o“sample1_initialize.bc”“c:/Honeywell/Connected/cGPS/MATLAB/ScriptCoder/sample1/build/sample1/CPU初始化”
em++.bat-Wall-std=c++1z-O0-DMODEL=sample1-DHAVESTDIO-DUSE_RTMODEL-IC:/Honeywell/Connected/cGPS/Matlab/JavascriptCoder/sample1/build-IC:/HONEYW~1/CONNEC~1/cGPS/Matlab~1/sample1/dist-IC:/HONEYW~1/CONNEC~1/cGPS/Matlab/JAVASC~1/sample1/IC:/Users/E143543/AppData/Roaming/MATHWO~1/Matlab~2/TOOLBO~1/1/包括-IC:/Users/E143543/AppData/Roaming/MATHWO~1/MATLAB~2/TOOLBO~1/generas~1/src-IC:/Honeywell/Connected/cGPS/MATLAB/JavascriptCoder/Sample1/${EMSCRIPTEN}/system/include-IC:/PROGRA-1/MATLAB/R2019b/extern/include-IC:/PROGRA-1/MATLAB/R2019b/simulink/include-IC:/PROGRA-1/MA金宝appTLAB/R2019b/rtw/c/src/R2019b/rtw/c/src/ext_模式/common-IC:/PROGRA-1/MATLAB/R2019b/rtw/c/ert-o“sample1_terminate.bc”c:/Honeywell/Connected/cGPS/MATLAB/Scriptcoder/sample1/build/sample1/cpp
em++.bat-Wall-std=c++1z-O0-DMODEL=sample1-DHAVESTDIO-DUSE_RTMODEL-IC:/Honeywell/Connected/cGPS/Matlab/JavascriptCoder/sample1/build-IC:/HONEYW~1/CONNEC~1/cGPS/Matlab~1/sample1/dist-IC:/HONEYW~1/CONNEC~1/cGPS/Matlab/JAVASC~1/sample1/sample1-IC:/Users/E143543/AppData/Roaming/MATHWO~1/MATHWO~1/Matlab~2/TOOLBO~1/App~1/include-43/e143用户Data/Roaming/MATHWO~1/MATLAB~2/TOOLBO~1/generas~1/src-IC:/Honeywell/Connected/cGPS/MATLAB/JavascriptCoder/Sample1/${EMSCRIPTEN}/system/include-IC:/PROGRA~1/MATLAB/R2019b/extern/include-IC:/PROGRA~1/MATLAB/R2019b/simulink/include-I金宝appC:/PROGRA~1/MATLAB/R2019b/rtw/c/src/ext_模式/common-IC:/PROGRA~1/MATLAB/R2019b/rtw/c/ert-o“start.bc”“c:/Honeywell/Connected/cGPS/MATLAB/JavascriptCoder/Sample1/build/start.cpp”
em++.bat-Wall-std=c++1z-O0-DMODEL=sample1-DHAVESTDIO-DUSE_RTMODEL-IC:/Honeywell/Connected/cGPS/Matlab/JavascriptCoder/sample1/build-IC:/HONEYW~1/CONNEC~1/cGPS/Matlab~1/sample1/dist-IC:/HONEYW~1/CONNEC~1/cGPS/Matlab/JAVASC~1/sample1/IC:/Users/E143543/AppData/Roaming/MATHWO~1/Matlab~2/TOOLBO~1/1/包括-IC:/Users/E143543/AppData/Roaming/MATHWO~1/MATLAB~2/TOOLBO~1/generas~1/src-IC:/Honeywell/Connected/cGPS/MATLAB/JavascriptCoder/Sample1/${EMSCRIPTEN}/system/include-IC:/PROGRA~1/MATLAB/R2019b/extern/include-IC:/PROGRA~1/MATLAB/R2019b/simulink/include-IC:/PROGRA~1/MA金宝appTLAB/R2019b/rtw/c/src/ext_模式/common-IC:/PROGRA~1/MATLAB/R2019b/rtw/c/ert-o“render.bc”c:/Honeywell/Connected/cGPS/MATLAB/JavascriptCoder/Sample1/build/render.cpp
em++:警告:生成具有对象扩展名(.bc)的可执行文件。如果要构建对象文件,请使用“-c、“-r”或“--shared”[-Wemcc]
em++:警告:生成具有对象扩展名(.bc)的可执行文件。如果要构建对象文件,请使用“-c、“-r”或“--shared”[-Wemcc]
em++:警告:生成具有对象扩展名(.bc)的可执行文件。如果要构建对象文件,请使用“-c、“-r”或“--shared”[-Wemcc]
em++:警告:生成具有对象扩展名(.bc)的可执行文件。如果要构建对象文件,请使用“-c、“-r”或“--shared”[-Wemcc]
em++:警告:生成具有对象扩展名(.bc)的可执行文件。如果要构建对象文件,请使用“-c、“-r”或“--shared”[-Wemcc]
em++:警告:生成具有对象扩展名(.bc)的可执行文件。如果要构建对象文件,请使用“-c、“-r”或“--shared”[-Wemcc]
错误:未定义的符号:render(由顶级编译的C/C++代码引用)
警告:链接到“-s LLD_REPORT_UNDEFINED”,以获取有关未定义符号的详细信息
警告:要禁用未定义符号的错误,请使用' -s ERROR_ON_UNDEFINED_SYMBOLS=0 '
警告:_render可能需要添加到导出的_函数中,如果它来自系统库
错误:未定义的符号:start(由顶级编译的C/C++代码引用)
警告:_start可能需要添加到导出的_函数中,如果它来自系统库
错误:由于先前的错误而中止编译
C:\projects\emsdk\upstream\emscripten\src\compiler.js C:\ users \ e143543 \ appdata \ local \ temp\ tmptl5r685v.txt' \ \用户\ e143543 \ appdata \ local \ temp\ tmptl5r685v.txt'
(主要gmake: * * *。公元前]错误1
gmake:**等待未完成的工作。。。。
make命令返回了一个错误2

在构建“sample1”时遇到的错误:
###未能生成所有二进制输出。
------------------------------------------------------------------------
??? 编译错误:C++编译器产生错误。有关更多详细信息,请参阅构建日志。
更多信息
代码生成失败:查看错误报告
错误使用codegen

webcoder.internal.coder.buildProject中出错

webcoder.build.project中出错(第18行)
webcoder.internal.coder.buildProject(项目);

>>

格雷格黑客

六羟甲基三聚氰胺六甲醚。。。我想我已经在Windows上点击了下面的一条消息的保存。

我会再试一次。

我有一台Mac和Windows PC用于工作。我几分钟前刚刚发布的消息是针对Windows情况的。

对于Mac的情况:

我从Mac电脑开始,除了我和其他人之前报告的“开始”和“渲染”错误外,它还在工作。

在我看到下面几个人的反馈之前,我尝试了很多东西,我想我把Mac上的环境搞砸了。现在,当我运行构建步骤时,它立即返回,没有输出。所以,它似乎什么也没做。

>>emsdkRootDir=webcoder.setup.getemscriptenrootdir目录;
Emscripten SDK根目录提供:
/用户/E143543/Desktop/emsdk
> > webcoder.setup.verifyThirdPartyTools (emsdkRootDir);
EMSDK和外部工具已经过验证。
>>emsdkRootDir=webcoder.setup.getemscriptenrootdir目录;
Emscripten SDK根目录提供:
/用户/E143543/Desktop/emsdk
> > webcoder.setup.verifyThirdPartyTools (emsdkRootDir);
EMSDK和外部工具已经过验证。
>>webcoder.setup.savethirdpartytoolpath(emsdkRootDir);
使用网络编码器保存的第三方刀具路径。
>>webcoder.setup.createandregister工具链;
已创建Emscripten工具链定义。
Emscripten工具链注册MATLAB编码器。
>>项目=开放项目(pwd);
> > webcoder.build.project(项目);
> > webcoder.build.project(项目);
>>

玛丽恩·尼延胡伊斯

Maria,是的,我在测试所提供的示例时遇到了这些问题。不过,好消息是:Oluwasegun的建议奏效了!当安装emsdk 1.40.1时,一切正常。("emsdk install 1.40.1 in command-prompt"——非常简单…)谢谢!

Oluwasegun有些乐趣

这是一个非常有用的附加组件。不幸的是,对于emsdk v2.0.4及更高版本,它会中断。

由于webcoder.internal源代码文件被混淆。

如果Geoff McVittie或任何其他MATLAB工作人员确保了导致这一问题的bug,用户将非常感激
在emsdk v2.0.4及更高版本的构建编译期间中断的加载项将尽快处理。

------------------------------------------------------------------------

对环境变量所做的更改只应用于当前运行的shell实例。稍后使用'emsdk_env.bat'重新进入这个环境,或者如果您想永久地注册这个环境,可以使用选项——permanent重新运行这个命令。
将以下工具设置为活动工具:
releases-UPPERWARD-37fc7647c754ac9a28ad588c143b82286de0ef71-64位
节点-14.15.5-64位
python-3.9.2-1-64位
java - 8.152 - 64位

em + +。bat - wall化z = c + + 1 o0 -DMODEL = mynewapp——即:/ SomefunAgba /文件/ MATLAB / ff /构建——即:/ SomefunAgba /文件/ MATLAB / ff / dist即:/ SomefunAgba /文件/ MATLAB / ff——即:/ SomefunAgba /文件/ MATLAB /插件/工具箱/ Generate_JavaScript_Using_MATLAB_Coder /包括-IE:/SomefunAgba/Documents/MATLAB/Add-Ons/Toolboxes/Generate_JavaScript_Using_MATLAB_Coder/src -IE:/SomefunAgba/Documents/MATLAB/ff/${EMSCRIPTEN}/system/include -ID:/ProgramFiles/Polyspace/R2020b/extern/include -o "main。bc”“E: / SomefunAgba /文件/ MATLAB /插件/工具箱/ Generate_JavaScript_Using_MATLAB_Coder / src / main.cpp”
em++.bat-Wall-std=c++1z-O0-DMODEL=mynewapp-IE:/SomefunAgba/Documents/MATLAB/ff/build-IE:/SomefunAgba/Documents/ff/dist-IE:/SomefunAgba/Documents/MATLAB/ff-IE:/SomefunAgba/Documents/MATLAB/Add-Ons/toolbox/Generate\u JavaScript\u使用MATLAB\u编码器/include-IE:/SomefunAgba/Documents/MATLAB/Add-Ons/Toolbox/Generate_JavaScript_Using_MATLAB\u Coder/src-IE:/SomefunAgba/Documents/MATLAB/ff/${EMSCRIPTEN}/system/include-ID:/ProgramFiles/Polyspace/R2020b/extern/include-o“\u模块注册的回调.bc”“E:/SomefunAgba/Documents/MATLAB/ff/build/\u模块注册的回调.cpp”
em++.bat-Wall-std=c++1z-O0-DMODEL=mynewapp-IE:/SomefunAgba/Documents/MATLAB/ff/build-IE:/SomefunAgba/Documents/ff/dist-IE:/SomefunAgba/Documents/MATLAB/ff-IE:/SomefunAgba/Documents/MATLAB/Add-Ons/toolbox/Generate\u JavaScript\u使用MATLAB\u编码器/include-IE:/SomefunAgba/Documents/MATLAB/Add-Ons/toolbox/Generate\u JavaScript\u Using\u MATLAB\u Coder/src-IE:/SomefunAgba/Documents/MATLAB/ff/${EMSCRIPTEN}/system/include-ID:/ProgramFiles/Polyspace/R2020b/extern/include-o“mynewapp\u data.bc”E:/SomefunAgba/Documents/MATLAB/ff/build/mynewapp\u data.cpp
em++.bat-Wall-std=c++1z-O0-DMODEL=mynewapp-IE:/SomefunAgba/Documents/MATLAB/ff/build-IE:/SomefunAgba/Documents/ff/dist-IE:/SomefunAgba/Documents/MATLAB/ff-IE:/SomefunAgba/Documents/MATLAB/Add-Ons/toolbox/Generate\u JavaScript\u使用MATLAB\u编码器/include-IE:/SomefunAgba/Documents/MATLAB/Add-Ons/toolbox/Generate\u JavaScript\u Using\u MATLAB\u Coder/src-IE:/SomefunAgba/Documents/MATLAB/ff/${EMSCRIPTEN}/system/include-ID:/ProgramFiles/Polyspace/R2020b/extern/include-o“mynewapp\u initialize.bc”E:/SomefunAgba/Documents/MATLAB/ff/build/mynewapp\u initialize.cpp
em++.bat-Wall-std=c++1z-O0-DMODEL=mynewapp-IE:/SomefunAgba/Documents/MATLAB/ff/ff/build-IE:/SomefunAgba/Documents/ff/dist-IE:/SomefunAgba/Documents/MATLAB/ff-IE:/SomefunAgba/Documents/MATLAB/addons/toolbox/使用MATLAB\u编码器生成JavaScript\u/include-IE:/SomefunAgba/Documents/MATLAB/addons/toolbox/使用MAT生成JavaScript\uLAB_Coder/src-IE:/SomefunAgba/Documents/MATLAB/ff/${EMSCRIPTEN}/system/include-ID:/ProgramFiles/Polyspace/R2020b/extern/include-o“mynewapp_terminate.bc”E:/SomefunAgba/Documents/MATLAB/ff/build/mynewapp_terminate.cpp
em++.bat-Wall-std=c++1z-O0-DMODEL=mynewapp-IE:/SomefunAgba/Documents/MATLAB/ff/ff/build-IE:/SomefunAgba/Documents/ff/dist-IE:/SomefunAgba/Documents/MATLAB/ff-IE:/SomefunAgba/Documents/MATLAB/addons/toolbox/使用MATLAB\u编码器生成JavaScript\u/include-IE:/SomefunAgba/Documents/MATLAB/addons/toolbox/使用MAT生成JavaScript\uLAB_Coder/src-IE:/SomefunAgba/Documents/MATLAB/ff/${EMSCRIPTEN}/system/include-ID:/ProgramFiles/Polyspace/R2020b/extern/include-o“start.bc”E:/SomefunAgba/Documents/MATLAB/ff/build/start.cpp
em++.bat-Wall-std=c++1z-O0-DMODEL=mynewapp-IE:/SomefunAgba/Documents/MATLAB/ff/build-IE:/SomefunAgba/Documents/ff/dist-IE:/SomefunAgba/Documents/MATLAB/ff-IE:/SomefunAgba/Documents/MATLAB/Add-Ons/toolbox/Generate\u JavaScript\u使用MATLAB\u编码器/include-IE:/SomefunAgba/Documents/MATLAB/Add-Ons/toolbox/Generate\u JavaScript\u Using\u MATLAB\u Coder/src-IE:/SomefunAgba/Documents/MATLAB/ff/${EMSCRIPTEN}/system/include-ID:/ProgramFiles/Polyspace/R2020b/extern/include-o“render.bc”E:/SomefunAgba/Documents/MATLAB/ff/build/render.cpp
共享:信息:(Emscripten:运行健全性检查)
共享:信息:(Emscripten:运行健全性检查)
共享:信息:(Emscripten:运行健全性检查)
共享:信息:(Emscripten:运行健全性检查)
共享:信息:(Emscripten:运行健全性检查)
共享:信息:(Emscripten:运行健全性检查)
共享:信息:(Emscripten:运行健全性检查)
em++:警告:生成具有对象扩展名(.bc)的可执行文件。如果要构建对象文件,请使用“-c、“-r”或“--shared”[-Wemcc]
em++:警告:生成具有对象扩展名(.bc)的可执行文件。如果要构建对象文件,请使用“-c、“-r”或“--shared”[-Wemcc]
em++:警告:生成具有对象扩展名(.bc)的可执行文件。如果要构建对象文件,请使用“-c、“-r”或“--shared”[-Wemcc]
em++:警告:生成具有对象扩展名(.bc)的可执行文件。如果要构建对象文件,请使用“-c、“-r”或“--shared”[-Wemcc]
em++:警告:生成具有对象扩展名(.bc)的可执行文件。如果要构建对象文件,请使用“-c、“-r”或“--shared”[-Wemcc]
em++:警告:生成具有对象扩展名(.bc)的可执行文件。如果要构建对象文件,请使用“-c、“-r”或“--shared”[-Wemcc]
em++:警告:生成具有对象扩展名(.bc)的可执行文件。如果要构建对象文件,请使用“-c、“-r”或“--shared”[-Wemcc]
错误:未定义的符号:render(由顶级编译的C/C++代码引用)
警告:链接到“-s LLD_REPORT_UNDEFINED”,以获取有关未定义符号的详细信息
警告:要禁用未定义符号的错误,请使用' -s ERROR_ON_UNDEFINED_SYMBOLS=0 '
警告:_render可能需要添加到导出的_函数中,如果它来自系统库
错误:未定义的符号:start(由顶级编译的C/C++代码引用)
警告:_start可能需要添加到导出的_函数中,如果它来自系统库
错误:由于先前的错误而中止编译
em++:错误:“E:/SomefunAgba/Documents/MATLAB/emsdkfc/emsdk/node/14.15.5_64bit/bin/node.exe E:\SomefunAgba\Documents\MATLAB\emsdkfc\emsdk\emsdk\emsdk\upstream\emscripten\src\compiler.js C:\Users\SomefunAgba\AppData\Local\Temp\tmpj\u q3sp0.txt”失败(1)
(主要gmake: * * *。公元前]错误1
gmake:**等待未完成的工作。。。。
make命令返回了一个错误2

在构建“mynewapp”时遇到错误
------------------------------------------------------------------------
??? 编译错误:C++编译器产生错误。有关更多详细信息,请参阅构建日志。
更多信息
代码生成失败:查看错误报告
错误使用codegen

webcoder.internal.coder.buildProject中出错

webcoder.build.project中出错(第18行)
webcoder.internal.coder.buildProject(项目);

Oluwasegun有些乐趣

emsdk v2.0.4的变更记录:2020年9月16日
-----------------
-第一个版本支持Bazel。金宝app
-默认情况下,停止包含“malloc”和“free”。如果您需要从
JS,您必须使用
`-s导出的_函数=[''u malloc',..]`。
停止运行Binaryen优化' - o1 '这使得' -O1 '构建有点小
规模更大,但编译速度更快,这在“妥协”中更有意义。
构建(介于`-O0`和更高的优化级别之间,适合发布
构建)。(#12178)
-在链接后添加“ERROR\u ON\u WASM\u CHANGES\u”选项,以便在需要时显示错误
链接后在“wasm emscripten finalize”或“wasm opt”中的任何工作。此
可以验证链接是否最快,也不会进行矮人重写。
(#12173)

Oluwasegun有些乐趣

对于那些有问题的人。

1.安装Emscripten SDK v1.40.1或更低版本
2.将“GenerateJavaScriptusingMATLABCoder”Add-On的文件夹重命名为不带空格的“GenerateJavaScriptusingMATLABCoder”
3.确保在没有网络映射的位置检测到emsdk和这个Add-On的文件夹。
然后,如果全部失败,也可以选择:
4.确保Matlab安装在一个没有空格的文件夹中。例如:您可以将其放置在“C:\ProgramFiles”中,而不是“C:\ProgramFiles\”。

玛丽亚·马丁内斯

你好,格雷格,

当我使用“assert”时,我在我创建并添加到项目中的函数中执行它。我不会将断言放在start或render函数上。

格雷格黑客

玛丽亚和杰夫
我和玛丽亚在2021年2月11日有同样的问题。她后来说我可以使用“assert”,但在阅读链接上的信息时,我遇到了麻烦,弄不清楚我在哪里为start()和render()函数放置了assert。我应该创建一个main.c还是??

谢谢你的帮助。
如果你能在youtube上做一个培训视频,对这个新手和其他人有所帮助。;-)

格雷格黑客

嗨。你对这些错误有什么想法吗?
谢谢你(我是新手,还在学习中,所以也许一些简单的东西?)

我进行了安装和检查,看看是否设置好了。结果还好。

错误:未定义的符号:render(由顶级编译的C/C++代码引用)
警告:链接到“-s LLD_REPORT_UNDEFINED”,以获取有关未定义符号的详细信息
警告:要禁用未定义符号的错误,请使用' -s ERROR_ON_UNDEFINED_SYMBOLS=0 '
警告:_render可能需要添加到导出的_函数中,如果它来自系统库
错误:未定义的符号:start(由顶级编译的C/C++代码引用)
警告:_start可能需要添加到导出的_函数中,如果它来自系统库
错误:由于先前的错误而中止编译
em++: [31merror: [0m'/Users/E143543/Desktop/emsdk/node/14.15.5_64bit/bin/node /Users/E143543/Desktop/emsdk/upstream/emscripten/src/compiler.js /var/folder /g_/vljcw4zd46v33gkw81k_w79m0000gn/T/tmpr35tizg_.txt' failed (1)
(主要gmake: * * *。公元前]错误1
gmake:**等待未完成的工作。。。。

生成“mynewapp”时遇到错误:
###未能生成所有二进制输出。

玛丽亚·马丁内斯

你好Marijn,

这些错误是在测试文档中的示例时发生的吗?我就是这样的人。

我试图通过改变emscripten工具的一些选项来解决这些问题,但似乎没有任何效果。最后,我创建了一个应用程序,正如文档中所解释的,然后我创建了一个简单的函数,给出了两个数字的加法或减法。

在那之后,我尝试使用webcoder.build.project(proj)来构建项目,但随后又出现了类似于之前的错误。thorught文档后我再一次意识到,这个插件使用Matlab的编码器,我从来没有使用过这Matlab应用程序我不知道程序员需要知道输入你想要的功能从Matlab成绩单到c,我使用了“自信”命令在我函数像编码器文档中解释道:

https://es.mathworks.com/help/fixedpoint/ug/define-input-properties-programmatically-in-the-matlab-file.html

然后,我再次使用webcoder.build.project(proj),该项目的构建没有错误。在我的项目的dist文件夹中,它是由我的原始函数的结果javascript创建的。但是,我在浏览器上看到它时遇到了问题,所以我不确定它最终是否成功。

我希望这对你有所帮助

玛丽亚

玛丽恩·尼延胡伊斯

你好,我和下面的玛丽亚有同样的问题。在她发布错误之前,我看到了警告:
em++:[35M警告:[0生成具有对象扩展名(.bc)的可执行文件。如果要生成对象文件,请使用“-c、“-r”或“--shared”[-Wemcc]
em++:[35M警告:[0生成具有对象扩展名(.bc)的可执行文件。如果要生成对象文件,请使用“-c、“-r”或“--shared”[-Wemcc]
em++:[35M警告:[0生成具有对象扩展名(.bc)的可执行文件。如果要生成对象文件,请使用“-c、“-r”或“--shared”[-Wemcc]
em++:[35M警告:[0生成具有对象扩展名(.bc)的可执行文件。如果要生成对象文件,请使用“-c、“-r”或“--shared”[-Wemcc]
em++:[35M警告:[0生成具有对象扩展名(.bc)的可执行文件。如果要生成对象文件,请使用“-c、“-r”或“--shared”[-Wemcc]
em++:[35M警告:[0生成具有对象扩展名(.bc)的可执行文件。如果要生成对象文件,请使用“-c、“-r”或“--shared”[-Wemcc]
em++:[35M警告:[0生成具有对象扩展名(.bc)的可执行文件。如果要生成对象文件,请使用“-c、“-r”或“--shared”[-Wemcc]

显然,创建的是可执行文件而不是对象文件,这导致下一步失败。你知道我们怎么解决这个问题吗?工具箱看起来有非常有趣的功能,我想尝试一下。也许emsdk在此期间进行了一次更新,破坏了工具箱的功能?我们是否应该恢复到旧版本的emsdk?

玛丽亚·马丁内斯

你好
我还有其他错误。当我按照示例中的步骤创建库时,我有以下错误:

wasm ld:错误:未知文件类型:_log.bc
错误:未知的文件类型:_module_registered_callbacks.bc
错误:未知的文件类型:mylibrary_initialize.bc
wasm ld:错误:未知文件类型:mylibrary\u terminate.bc
wasm ld:错误:未知文件类型:start.bc
错误:未知文件类型:渲染。bc
wasm ld:错误:未知文件类型:HelloBrowser.bc
em++:错误:“C:/Users/Usuario/Desktop/emsdk/upstream/bin\wasm-ld.exe-o./mylibrary.wasm\u log.bc\u module\u registed\u callbacks.bc mylibrary\u initialize.bc mylibrary\u terminate.bc start.bc render.bc HelloBrowser.bc-LC:\Users\Usuario\Desktop\emsdk\upstream\emscripten\cache\sysroot\lib\wasm32 emscriptenC:\Users\Usuario\Desktop\emsdk\upstream\emscripten\cache\sysroot\lib\wasm32 emscripten\libgl.a C:\Users\Usuario\Desktop\emsdk\upstream\emscripten\cache\sysroot\lib\wasm32 emscripten\libal.a C:\Users\Usuario\Desktop\emsdk\uper\emscripten\cache\sysroot\lib\wasm32 emscripten\libhtml5.aC:\Users\Usuario\Desktop\emsdk\upstream\emscripten\cache\sysroot\lib\wasm32-emscripten\libc.a C:\Users\Usuario\Desktop\emsdk\emsdk\upstream\emscripten\lib.a C:\Users\Usuario\Desktop\emsdk\upstream\emscripten\cache\sysroot\lib\wasm32-emscripten\libc++-noexcept.aC:\Users\Usuario\Desktop\emsdk\upstream\emscripten\cache\sysroot\lib\wasm32 emscripten\libc++abi noexcept.a C:\Users\Usuario\Desktop\emsdk\upstream\emscripten\cache\sysroot\lib\wasm32 emscripten\libdlmalloc.a C:\Users\Usuario\Desktop\emsdk\emscripten\cache\sysroot\lib\lib\wasm32 emscripten\libc.aC:\Users\Usuario\Desktop\emsdk\upstream\emscripten\cache\sysroot\lib\wasm32 emscripten\libsockets.a-mllvm-combiner全局别名分析=false-mllvm-enable emscripten sjlj-mllvm-disable lsr-允许未定义-条带调试-导出mylibrary\u初始化-导出开始-导出呈现-导出HelloBrowser-导出mylibrary\u终止-导出emscripten_stack_get_end--export emscripten_stack_get_free--export emscripten_stack_init--export stackSave--export stackRestore--export stackAlloc--export_uwasm_call_构造函数--export fflush--export errno_location table--z stack size=5242880--初始内存=16777216--无条目--最大内存=16777216--全局基=1024'失败(1)
gmake:**[mylibrary.js]错误1
make命令返回了一个错误2

生成“mylibrary”时遇到错误:
###未能生成所有二进制输出。
------------------------------------------------------------------------
??? 编译错误:C++编译器产生错误。有关更多详细信息,请参阅构建日志。

我有Matlab2019b版本。有人知道如何解决这个问题吗?

谢谢。

玛丽亚·马丁内斯

嗨,罗曼,如果你能找到答案,我会很感激你能和我分享。

谢谢,

罗曼Butteaud

玛丽亚,我现在和你的情况完全一样,我已经向这则广告的主人寻求帮助。

玛丽亚·马丁内斯

你好
运行命令时
> > webcoder.build.project(项目);
我遇到两个错误,分别是:

错误:未定义的符号:render(由顶级编译的C/C++代码引用)
错误:未定义的符号:start(由顶级编译的C/C++代码引用)

我已经阅读了下面的评论,似乎我与mamel、ecom和Fabio有相同的问题。我已经将目录名更改为一个没有空格的名称,并按照Chsirtopher所说安装了Fastcomp,但这两个都不能帮助我解决这个错误。

有人找到了解决办法吗?

谢谢

罗曼Butteaud

你好
我得到了一个错误,当运行这个命令(从安装):

>>webcoder.setup.createandregister工具链;
无法解析名称coder.make.internal.generateToolchainInfoObjects。
webcoder.internal.coder.getEmscriptenToolchain中出错
webcoder.internal.coder.generateToolchainFile误差
webcoder.setup.createAndRegisterToolchain中出错(第10行)
webcoder.internal.coder.generateToolchainFile;

同样的问题:
错误:未定义的符号:render(由顶级编译的C/C++代码引用)

有什么解金宝搏官方网站决办法吗?谢谢

杰夫·麦克维蒂

@Christopher Duke -感谢您对在MacOS Catalina操作系统上设置工具链的深入了解。感谢。

克里斯托弗·杜克

Fastcomp不再是emscripten中的默认值,因此对于那些在MacOS Catalina上为该工具箱的2.02版正确设置emscripten的人,我做了以下操作(使用python 2.7.16):

git克隆https://github.com/emscripten-core/emsdk.git

cd emsdk

python emsdk.py安装1.39.0-fastcomp

python emsdk.py激活1.39.0-fastcomp

然后完成setup.mlx中概述的步骤,并将其指向您的emsdk目录,一切都会很好!

ecom

嗨,很棒的工具,但仍然不适合我。

我和@mamel有同样的问题。我被困在>>webcoder.build.project(proj)上;抛出第一个错误:错误:未定义的符号:render
我有以前的错误,如默认目录名的添加,改变为一个没有空格和错误是没有的,但现在我有问题,只是陈述;
webcoder.build.project(项目);
错误:未定义的符号:渲染
我们希望我们得到更新,顺便说一句,做得好

mamel velasco

伟大的工具!
只是遵循了所有步骤。但是,在编译时……我得到了下一个输出:
> > webcoder.build.project(项目);

错误:未定义的符号:render(由顶级编译的C/C++代码引用)
警告:链接到“-s LLD_REPORT_UNDEFINED”,以获取有关未定义符号的详细信息
警告:要禁用未定义符号的错误,请使用' -s ERROR_ON_UNDEFINED_SYMBOLS=0 '
警告:_render可能需要添加到导出的_函数中,如果它来自系统库
错误:未定义的符号:start(由顶级编译的C/C++代码引用)
警告:_start可能需要添加到导出的_函数中,如果它来自系统库
错误:由于先前的错误而中止编译

安德鲁驶去

嗨,杰夫,
看起来像一个有趣的附加组件!我和一个小组一起工作,在任何CPU或GPU上使用JavaScript/Wasm进行任意分布式计算。我想和你聊一聊,看看有没有合作的方法。
请随时发电子邮件给我andrew@kingsds.network

欢呼,
安德鲁驶去

杰夫·麦克维蒂

吉野布你好,,
R2020a中的工具链注册存在问题,这可能导致选择不同的工具链,例如MINGW,而不是Emscripten工具链。您能否在MATLAB的R2019b版本中运行附加组件以查看问题是否仍然存在?

非常感谢。
杰夫·麦克维蒂

佐佐木吉诺布

佐佐木吉诺布

该死的杰夫,干得好!
我在执行“webcoder.build.project(proj)”时遇到如下错误。
(操作系统:windows10,MATLAB:2020a,编译器:mingw)
------------------------------------------------------------------------
“C: \ MATLAB PROGRA ~ 3 \ \ SUPPOR ~ 1 \ R2020a \ 3 p778c ~ 1.英寸\ MINGW_ ~ 1。INS\bin/g++" -c -fwrapv -m64 -std=c++11 -O0 -D__USE_MINGW_ANSI_STDIO=1 -DMODEL=mynewapp -DMODEL=mynewapp @mynewapp_rtw_comp。主要负责- o”。obj”“C: / /【用户名】/ AppData /漫游用户/ MathWorks MATLABAdd-Ons /工具箱/ GenerateJavaScriptUsingMATLABCoder / src / main.cpp”
C:/Users/[Username]/AppData/Roaming/MathWorks/MATLABAdd-Ons/toolboxs/GenerateJavaScriptUsingMATLABCoder/src/main.cpp:3:24:致命错误:emscripten.h:没有这样的文件或目录
#包括

编译终止。
gmake:**[main.obj]错误1
make命令返回了一个错误2

“mynewappのビルド中にエラーが発生しました:
###未能生成所有二进制输出。
------------------------------------------------------------------------

我已经解决了MINGW的空间问题,尽管这是可能的。
你觉得怎么了?
谢谢你提前通知我。

尼古拉斯·辛兹

我终于纠正了这个错误。删除文件夹中的空格后,需要在MATLAB中运行以下命令,然后再尝试编译:
webcoder.setup.createandregister工具链;

尼古拉斯·辛兹

Geoff,我将加载项目录更改为:
C:\Users\\AppData\Roaming\MathWorks\MATLABAddOns\toolboxs\GenerateJavaScriptUsingMATLABCoder
但它仍然失败,并显示相同的错误消息。
我也通过联系链接给你发了信息。我哪里都找不到电子邮件地址。

杰夫·麦克维蒂

你好,尼古拉斯,
这可能与Tom McGrath和Christian Golcic看到的相同问题有关。当前,包含空间和网络映射驱动器的路径存在问题,下一次更新将解决这些问题。目前,请将加载项目录的位置更改为位于不包含任何空格的Windows路径上。您可以通过转到MATLAB主页选项卡>环境>首选项,将MATLAB>附加组件>安装文件夹设置为不包含任何空格的目录;默认文件夹位置“C:\Users\\AppData\Roaming\MathWorks\MATLAB Add-Ons”似乎包含一个空格。这可以更改为“C:\Users\\AppData\Roaming\MathWorks\MATLABAddOns”。请让我知道这是否解决了问题。您也可以通过加载项管理器中下载的加载项信息中包含的电子邮件与我联系。

非常感谢。
杰夫·麦克维蒂博士。

尼古拉斯·辛兹

尝试在Windows 10上使用R2019b 64位构建CreateApp时,我遇到以下错误。

>>proj=webcoder.setup.project(“我的新应用程序”,“目录”,pwd);
>>项目=开放项目(pwd);
webcoder.build.project(项目);
------------------------------------------------------------------------
将目录添加到PATH:
路径+=D:\GitHub\emsdk
PATH+=D:\GitHub\emsdk\node\12.18.1\u 64bit\bin
路径+ = D: \ python GitHub \ emsdk \ \ 3.7.4-pywin32_64bit
PATH+=D:\GitHub\emsdk\java\8.152\u 64bit\bin
路径+=D:\GitHub\emsdk\upstream\emscripten

设置环境变量:
EMSDK = D: / GitHub / EMSDK
EM_CONFIG=D:\GitHub\emsdk\.emscripten
EMSDK\u NODE=D:\GitHub\EMSDK\NODE\12.18.1\u 64bit\bin\NODE.exe
EMSDK\u PYTHON=D:\GitHub\EMSDK\PYTHON\3.7.4-pywin32\u 64bit\PYTHON.exe
JAVA\u HOME=D:\GitHub\emsdk\JAVA\8.152\u 64位
EM_CACHE = D: / GitHub / emsdk /上游/ emscripten \缓存
将以下工具设置为活动工具:
节点- 12.18.1 - 64位
python - 3.7.4 pywin32 - 64位
java - 8.152 - 64位
发布——上游- 536568644 - fd67d53778f6111fdd5f64ad3f4c539 - 64位

对环境变量所做的更改仅适用于当前运行的shell实例。稍后使用“emsdk_env.bat”重新进入此环境,或者如果要向Windows注册表中的所有用户全局注册此环境,请使用--global选项重新运行此命令。
gmake:**没有规则使“\u log.bc”所需的目标“Add-Ons/Toolbox/Generate”。停止
make命令返回了一个错误2

生成“mynewapp”时遇到错误:
###未能生成所有二进制输出。
------------------------------------------------------------------------
???编译错误:c++编译器产生错误。看到
详细信息请参阅构建日志。
更多信息
代码生成失败:查看错误报告
错误使用codegen

webcoder.internal.coder.buildProject中出错

webcoder.build.project中出错(第18行)
webcoder.internal.coder.buildProject(项目);

你好

我与下面的Tom McGrath有相同的问题(发布于2020年6月1日)。我尝试在MathWorks上与您联系,Geoff McVittie先生。我在下载的加载项中找不到您的电子邮件。

可以通过dic15cgo@student.lu.se联系我

谢谢

杰夫·麦克维蒂

嗨,汤姆,
很遗憾听到你遇到了这个问题。你能通过下载的Add-On中的邮件联系我吗?我怀疑这个问题可能与安装路径有关,但几乎可以肯定的是,通过电子邮件进行交流更有效。

非常感谢。
杰夫·麦克维蒂

汤姆麦克格拉斯

你好,杰夫!

我已经完成了设置没有得到任何错误,但我得到以下错误时,试图构建第一个示例应用程序:

------------------------------------------------------------------------
gmake:**没有规则使目标“/src/console/\u log.cpp”成为“\u log.obj”所需的目标。停止
make命令返回了一个错误2

生成“mynewapp”时遇到错误:
###未能生成所有二进制输出。
------------------------------------------------------------------------
??? 编译错误:C++编译器产生错误。有关更多详细信息,请参阅构建日志。
更多信息
代码生成失败:查看错误报告
错误使用codegen

webcoder.internal.coder.buildProject中出错

webcoder.build.project中出错(第18行)
webcoder.internal.coder.buildProject(项目);

你知道我在哪里安装的吗?

大卫Fardis

好的我喜欢它。。。谢谢用于格式化我使用的Javascripthttps://javascriptbeautifier.org/

杰夫·麦克维蒂

嗨通照亮,
请通过附加模块管理器中附加模块中提供的联系电子邮件与我联系。我很乐意帮助调查您遇到的这个问题,但通过电子邮件沟通会更容易。
非常感谢。
杰夫·麦克维蒂

汤鲁明

我建立我的项目
>>proj=webcoder.setup.project(“我的新应用”);
> > webcoder.build.project(项目);
它发生
致命错误C1083:无法打开包含文件:“emscripten.h”

Neken Aritia Sy Razafindrabe

杰夫·麦克维蒂

一些用户遇到以下错误:“UnicodeDecodeError:'ascii'编解码器无法解码字节”。此错误的原因是Emscripten SDK中的python2.7无法识别Windows上路径字符串中的非ASCII字符。简单的中文字符就是非ASCII字符的例子。
作为一种解决方法,您可以将Emscripten SDK和此加载项安装到仅包含ASCII文本的本地文件夹中。
特别感谢@zhaozhouwu发现并报道了这一问题。

卡勒布·马格鲁德

吴肇州

谢谢你,麦克维蒂先生。
我遵照您的建议,在本地光盘上安装了我的matlab2019a,现在我成功地构建了我的第一个项目。
此外,我还将“使用MATLAB编码器生成JavaScript”文件夹移动到本地光盘中的默认附加组件文件夹。
我认为这将对我目前的设计有很大帮助。
伟大的工具!我将尽量多了解一些。

杰夫·麦克维蒂

@吴肇州
你好
附加组件包括工具链注册、项目文件夹和大多数API,需要安装在本地驱动器上;映射网络驱动器通常会出现故障,这是一个已知问题。为了解决这个问题,我建议如下:
(1) 将emscripten SDK安装到本地驱动器上,C:\应该可以。
(2) 在MATLAB中,将附加组件文件夹设置为本地驱动器上的文件夹。您可以在MATLAB>主页>环境>首选项>MATLAB>附加组件中设置附加组件文件夹。如果MATLAB安装在本地驱动器上,则附加组件文件夹将位于驱动器上,可能不需要更改。
(3)在本地驱动器的文件夹中创建工程。
尝试这些步骤,让我知道项目是否可以成功创建和构建。
非常感谢。
杰夫·麦克维蒂

吴肇州

你好。我已经尝试安装这个MATLAB编码器。
我安装了Emscripten SDK,并按照Setup.mlx中给出的说明设置了路径
结果如下:
>>emsdkRootDir=webcoder.setup.getemscriptenrootdir目录;
Emscripten SDK根目录提供:
D:\matlab2019\emsdk主机
> > webcoder.setup.verifyThirdPartyTools (emsdkRootDir);
EMSDK和外部工具已经过验证。
>>webcoder.setup.savethirdpartytoolpath(emsdkRootDir);
使用网络编码器保存的第三方刀具路径。
>>webcoder.setup.createandregister工具链;
已创建Emscripten工具链定义。
Emscripten工具链注册MATLAB编码器。

如您所见,Emscripten工具链已成功创建和注册。
但是,当我在命令窗口中运行“proj=webcoder.setup.project(“faceTrace”);”命令时,出现如下错误:

错误使用 coder.internal.setToolchainOptions
“Emscripten”不是有效的工具链名称。请使用以下选项之一:自动定位已安装的工具链
AUTOSAR自适应| CMake
AUTOSAR自适应演示器
微软Visual C++ 2017 V7.0nnFe(64位Windows)
Microsoft Visual c++ 2015 v14.0 | nmake(64位Windows)
LCC-win64 v2.4.1 | gmake(64位Windows)
MinGW64 | gmake(64位Windows)
NVIDIA CUDA(W/微软Visual C++ 2017)nFuE(64位窗口)
NVIDIA CUDA(W/微软Visual C++ 2015)nFuE(64位窗口)
NVIDIA CUDA(W/微软Visual C++ 2013)nFuE(64位窗口)
Mentor Graphics QuestaSim/Modelsim(64位Linux)
Cadence Incisive(64位Linux)
Cadence Xcelium(64位Linux)
Mentor Graphics QuestaSim/Modelsim(32位Windows)
Mentor Graphics QuestaSim/Modelsim(64位Windows)
Cadence Incisive(32位Linux)
柔荑花序
iBIS-AMI微软Visual C++ 2017 V7.0nnFe(64位Windows)
iBIS-AMI微软Visual C++ 2015 V140 nFUE(64位窗口)
iBIS-AMI微软Visual C++ 2013 V12.0 nFuE(64位Windows)
IBIS-AMI MinGW64 | gmake(64位Windows)

出错 webcoder.internal.project.createProject

出错webcoder.setup.project(25)行
proj=webcoder.internal.project.createProject(varargin{:});

我在matlab2019a上运行命令,但没有遇到michio描述的相同问题。所以我不认为这是一个版本的问题。

那么我有什么建议吗?我想这可能是一些基本的错误,因为我把matlab安装在d盘上,而不是c盘上的默认位置。

帕维尔·罗斯洛维茨

美雄

杰夫·麦克维蒂

这个插件已经更新到使用Emscripten SDK版本1.39。如果您使用的是Emscripten SDK的早期版本,请更新到最新版本,以便使用这个附加组件。
特别感谢@michio发现并报道了这个问题。

美雄

这听起来是个很棒的工具!谢谢你的辛勤工作。

我试图在我的Windows机器上安装安装程序。mlx,但我得到一个错误在webcodeer .setup. createandregistertoolchain
输出:

>emsdkRootDir=webcoder.setup.getemscriptenrootdir目录;
Emscripten SDK根目录提供:
C:\Users\minoue\emsdk主机

> webcoder.setup.verifyThirdPartyTools (emsdkRootDir);
EMSDK和外部工具已经过验证。

> webcoder.setup.saveThirdPartyToolPaths (emsdkRootDir);
使用网络编码器保存的第三方刀具路径。

>webcoder.setup.createandregister工具链;
这种类型的变量不支持点索引。金宝app

webcoder.internal.coder.generateToolchainFile误差

webcoder.setup.createAndRegisterToolchain中出错(第10行)
webcoder.internal.coder.generateToolchainFile;

杰夫·麦克维蒂

@琼威
你好
正在开发一个更新版本的Add-On,它将提供配置标志的简单设置,包括编译器优化。作为一个变通方法,你可以使用MATLAB编码器应用程序。在配置中,选择“Emscripten”工具链。然后可以设置和添加额外的编译标志和参数;包括编译器优化。如果您需要任何进一步的帮助,请随时通过已安装的Add-On提供的电子邮件联系信息与我联系。
非常感谢。
杰夫·麦克维蒂

杰夫·麦克维蒂

@利瓦扬
你好
我最初的猜测是,对于您的主机架构AMD64,需要重新编译emscripten二进制文件,参见https://emscripten.org/docs/building_from_source/index.html。请随时通过安装的附加组件中提供的电子邮件联系信息与我联系,以获取有关此过程的帮助。
非常感谢。
杰夫·麦克维蒂

周经纬

你好,请提供建议-是否可以使用这个附加组件对Emscripten使用的编译标志进行更改?

李Hwayoung

c:\Users\lee\Desktop\emsdk>emsdk安装最新版本
警告:未知的机器架构AMD64

错误:未找到名为“SDK-releases-fastcomp-7B4B328AF02EAFBC857B8CA1E3D9B12DDC56EF7-64bit”的工具或SDK。

你能告诉我吗

塞拉斯·亨德森

杰夫·麦克维蒂

⚠对于Add-On版本1.0.3及之前,在Windows上,从下载页面底部的存档版本安装存档的emsdk-1.12.0-full-64位,https://emscripten.org/docs/getting_started/downloads.html,而不是安装git。

杰夫·麦克维蒂

@扎奇里·朱
你好
你能提供更多关于安装问题的细节吗?
在Windows 10上,步骤应大致如下:

1.在Windows 10中,安装Emscripten
C:\Users\\Desktop>git克隆https://github.com/emscripten-core/emsdk.git
C:\Users\\Desktop>cd emsdk
c:\ users3 \\Desktop> emsdk install latest
c:\ users3 \\Desktop> emsdk activate latest

2.在MATLAB中,使用附加组件管理器安装“GenerateJavaScriptUsingMATLABCoder”。

3.在MATLAB中,通过运行以下命令打开Setup.mlx:
> > webcoder.setup.start ()

4.按照Setup.mlx中的步骤3至6操作

如果以上任何一项不起作用,请联系我们。请包括抛出的任何错误消息。

非常感谢。
杰夫

Zachery朱

我还是无法正确安装,哈哈。我用的是Windows10

杰夫·麦克维蒂

@苏潘妮·利尔克塔纳哈琼
谢谢你的反馈。更新版本v1.0.3已更正示例中的打字错误。
您能否提供有关安装过程中遇到的具体问题的更多信息?我希望能够更好地理解这些问题,并在将来可能纠正这些问题。

请修复示例中的输入错误
>>server=webcoder.utilities.DeploymentServer(“端口”,8000)
应该是
>>server=webcoder.utilities.DevelopmentServer(“端口”,8000)
我花了很长时间才弄明白。另外……整个安装过程让人头疼。

拉里·凯拉拉

拉里·凯拉拉

在Mac OSX上,emscripten安装是使用bash脚本完成的,因此webcoder.setup.verifyThirdPartyTools失败,出现错误“bash_SOURCE Undefined variable”。在验证之前,您需要使用以下方法将MATLAB的shell设置为bash:export MATLAB_shell=`which bash`。

MATLAB版本兼容性
使用R2019b创建
与R2019a至R2019b兼容
平台的兼容性
窗户 马科斯 Linux

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始打猎吧!

+网络编码器/+构建

+ webcoder / +控制台

+网络编码器/+dom

+ webcoder / +网络

+ webcoder / +传感器

+网络编码器/+设置

+ webcoder / +实用工具

登记处

样板

模板/ app_basic