How to create a dll with Matlab Compiler?
6 次查看(过去 30 天)
显示 更早的评论
Hi.
I am a new user of Matlab compiler and I would like to create a c++ shared library using library compiler. After exporting my main function in "Library compiler", I am not able to click on "Package" (the "package" button never turns green and is not active). Note that with the same code or main function I was able to create a standalone apps with Application compiler. Please what could be the problem?
Besides when I open the "Library compiler" I have the following messages:
% code
Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: This collection does not allow clients with duplicate names
at com.google.common.base.Preconditions.checkArgument(Preconditions.java:93)
at com.mathworks.desktop.client.UniqueClientCollection.check(UniqueClientCollection.java:53)
at com.mathworks.desktop.client.UniqueClientCollection.add(UniqueClientCollection.java:47)
at com.mathworks.toolbox.compiler.desktop.DeploytoolToolstripTab.initializeToolstrip(DeploytoolToolstripTab.java:55)
at com.mathworks.toolbox.compiler.desktop.DeploytoolToolstripClient.loadingFinished(DeploytoolToolstripClient.java:149)
at com.mathworks.project.impl.ProjectGUI$3$1.run(ProjectGUI.java:380)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$200(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at com.mathworks.toolbox.compiler.desktop.toolstrip.AbstractDeploytoolFilesetToolstripSection$1.stateChanged(AbstractDeploytoolFilesetToolstripSection.java:36)
at com.mathworks.deployment.desktop.toolstrip.AbstractFilesetToolstripSection.fireChangeListeners(AbstractFilesetToolstripSection.java:67)
at com.mathworks.toolbox.compiler.desktop.toolstrip.AbstractDeploytoolFilesetToolstripSection.access$101(AbstractDeploytoolFilesetToolstripSection.java:14)
at com.mathworks.toolbox.compiler.desktop.toolstrip.AbstractDeploytoolFilesetToolstripSection$2.run(AbstractDeploytoolFilesetToolstripSection.java:49)
at com.mathworks.mwswing.MJUtilities.runOnEventDispatchThread(MJUtilities.java:911)
at com.mathworks.toolbox.compiler.desktop.toolstrip.AbstractDeploytoolFilesetToolstripSection.fireChangeListeners(AbstractDeploytoolFilesetToolstripSection.java:46)
at com.mathworks.toolbox.compiler.desktop.toolstrip.AbstractDeploytoolFilesetToolstripSection.updateUIWithCurrentData(AbstractDeploytoolFilesetToolstripSection.java:62)
at com.mathworks.toolbox.compiler.desktop.toolstrip.ExportedFunctionsToolstripSection.updateUIWithCurrentData(ExportedFunctionsToolstripSection.java:250)
at com.mathworks.deployment.model.AbstractUIFilesetImplementation.fireDataChangedUIListeners(AbstractUIFilesetImplementation.java:178)
at com.mathworks.deployment.model.AbstractUIFilesetImplementation.addUserInput(AbstractUIFilesetImplementation.java:136)
at com.mathworks.toolbox.compiler.desktop.toolstrip.ExportedFunctionsToolstripSection$6.run(ExportedFunctionsToolstripSection.java:275)
at com.mathworks.mwswing.MJUtilities.runOnEventDispatchThread(MJUtilities.java:911)
at com.mathworks.toolbox.compiler.desktop.toolstrip.ExportedFunctionsToolstripSection.addFilesThroughUI(ExportedFunctionsToolstripSection.java:268)
at com.mathworks.toolbox.compiler.desktop.toolstrip.ExportedFunctionsToolstripSection$1.actionPerformed(ExportedFunctionsToolstripSection.java:84)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at com.mathworks.toolstrip.plaf.RegularButtonUI$RegularToolstripButtonListener.mouseReleasedImpl(RegularButtonUI.java:328)
at com.mathworks.toolstrip.plaf.RegularButtonUI$RegularToolstripButtonListener.mouseReleased(RegularButtonUI.java:322)
at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at com.mathworks.mwswing.MJButton.processMouseEvent(MJButton.java:348)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$200(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at com.mathworks.toolbox.compiler.desktop.toolstrip.AbstractDeploytoolFilesetToolstripSection$1.stateChanged(AbstractDeploytoolFilesetToolstripSection.java:36)
at com.mathworks.deployment.desktop.toolstrip.AbstractFilesetToolstripSection.fireChangeListeners(AbstractFilesetToolstripSection.java:67)
at com.mathworks.toolbox.compiler.desktop.toolstrip.AbstractDeploytoolFilesetToolstripSection.access$101(AbstractDeploytoolFilesetToolstripSection.java:14)
at com.mathworks.toolbox.compiler.desktop.toolstrip.AbstractDeploytoolFilesetToolstripSection$2.run(AbstractDeploytoolFilesetToolstripSection.java:49)
at com.mathworks.mwswing.MJUtilities.runOnEventDispatchThread(MJUtilities.java:911)
at com.mathworks.toolbox.compiler.desktop.toolstrip.AbstractDeploytoolFilesetToolstripSection.fireChangeListeners(AbstractDeploytoolFilesetToolstripSection.java:46)
at com.mathworks.toolbox.compiler.desktop.toolstrip.AbstractDeploytoolFilesetToolstripSection.updateUIWithCurrentData(AbstractDeploytoolFilesetToolstripSection.java:62)
at com.mathworks.toolbox.compiler.desktop.toolstrip.ExportedFunctionsToolstripSection.updateUIWithCurrentData(ExportedFunctionsToolstripSection.java:250)
at com.mathworks.deployment.model.AbstractUIFilesetImplementation.fireDataChangedUIListeners(AbstractUIFilesetImplementation.java:178)
at com.mathworks.deployment.model.AbstractUIFilesetImplementation.addUserInput(AbstractUIFilesetImplementation.java:136)
at com.mathworks.toolbox.compiler.desktop.toolstrip.ExportedFunctionsToolstripSection$6.run(ExportedFunctionsToolstripSection.java:275)
at com.mathworks.mwswing.MJUtilities.runOnEventDispatchThread(MJUtilities.java:911)
at com.mathworks.toolbox.compiler.desktop.toolstrip.ExportedFunctionsToolstripSection.addFilesThroughUI(ExportedFunctionsToolstripSection.java:268)
at com.mathworks.toolbox.compiler.desktop.toolstrip.ExportedFunctionsToolstripSection$1.actionPerformed(ExportedFunctionsToolstripSection.java:84)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at com.mathworks.toolstrip.plaf.RegularButtonUI$RegularToolstripButtonListener.mouseReleasedImpl(RegularButtonUI.java:328)
at com.mathworks.toolstrip.plaf.RegularButtonUI$RegularToolstripButtonListener.mouseReleased(RegularButtonUI.java:322)
at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at com.mathworks.mwswing.MJButton.processMouseEvent(MJButton.java:348)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$200(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at com.mathworks.toolbox.compiler.desktop.toolstrip.AbstractDeploytoolFilesetToolstripSection$1.stateChanged(AbstractDeploytoolFilesetToolstripSection.java:36)
at com.mathworks.deployment.desktop.toolstrip.AbstractFilesetToolstripSection.fireChangeListeners(AbstractFilesetToolstripSection.java:67)
at com.mathworks.toolbox.compiler.desktop.toolstrip.AbstractDeploytoolFilesetToolstripSection.access$101(AbstractDeploytoolFilesetToolstripSection.java:14)
at com.mathworks.toolbox.compiler.desktop.toolstrip.AbstractDeploytoolFilesetToolstripSection$2.run(AbstractDeploytoolFilesetToolstripSection.java:49)
at com.mathworks.mwswing.MJUtilities.runOnEventDispatchThread(MJUtilities.java:911)
at com.mathworks.toolbox.compiler.desktop.toolstrip.AbstractDeploytoolFilesetToolstripSection.fireChangeListeners(AbstractDeploytoolFilesetToolstripSection.java:46)
at com.mathworks.toolbox.compiler.desktop.toolstrip.AbstractDeploytoolFilesetToolstripSection.updateUIWithCurrentData(AbstractDeploytoolFilesetToolstripSection.java:62)
at com.mathworks.toolbox.compiler.desktop.toolstrip.ExportedFunctionsToolstripSection.updateUIWithCurrentData(ExportedFunctionsToolstripSection.java:250)
at com.mathworks.deployment.model.AbstractUIFilesetImplementation.fireDataChangedUIListeners(AbstractUIFilesetImplementation.java:178)
at com.mathworks.deployment.model.AbstractUIFilesetImplementation.addUserInput(AbstractUIFilesetImplementation.java:136)
at com.mathworks.toolbox.compiler.desktop.toolstrip.ExportedFunctionsToolstripSection$6.run(ExportedFunctionsToolstripSection.java:275)
at com.mathworks.mwswing.MJUtilities.runOnEventDispatchThread(MJUtilities.java:911)
at com.mathworks.toolbox.compiler.desktop.toolstrip.ExportedFunctionsToolstripSection.addFilesThroughUI(ExportedFunctionsToolstripSection.java:268)
at com.mathworks.toolbox.compiler.desktop.toolstrip.ExportedFunctionsToolstripSection$1.actionPerformed(ExportedFunctionsToolstripSection.java:84)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at com.mathworks.toolstrip.plaf.RegularButtonUI$RegularToolstripButtonListener.mouseReleasedImpl(RegularButtonUI.java:328)
at com.mathworks.toolstrip.plaf.RegularButtonUI$RegularToolstripButtonListener.mouseReleased(RegularButtonUI.java:322)
at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at com.mathworks.mwswing.MJButton.processMouseEvent(MJButton.java:348)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$200(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Does it have a link to the difficulty I have to create the a .dll?
Thank you for your answers, Loic
2 个评论
Walter Roberson
2017-6-26
You refer to creating a DLL with "MATLAB Compiler", but your tags say "MATLAB Compiler SDK". MATLAB Compiler SDK is the product you need to create a DLL since roughly the R2012b time frame (I would have to check the exact release); the facility used to be part of MATLAB Compiler but was moved to MATLAB Compiler SDK.
回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Java Package Integration 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!