我怎么把自定义图标和一个EXE编译与MATLAB编译器4.0 (R14) ?

148(30天)
我想在独立应用程序包括一个图标文件我已经使用MATLAB编译器创建。我想要这个图标显示在Windows资源管理器的通用应用程序图标。

接受的答案

MathWorks支万博1manbetx持团队
编辑:MathWorks支万博1manbetx持团队 2021年5月10日
添加自定义图标的能力在编译应用程序中可用deploytool R2013b释放。
这是不可能的在释放R2010b——R2013a。
如果您正在使用MATLAB编译器4.13 (R2010a)或之前任何解决方法见下文:
有两种方法可以在编译应用程序包括一个自定义图标。一种方法是修改后的图标生成EXE使用第三方软件。另一种方法是包括在编译时使用资源文件的图标。这些下面进一步解释。
1。为了把一个图标和一个应用程序EXE创建之后,您将需要使用第三方工具来修改图标。有许多应用程序用于这一目的。一个很好的起点是通过搜索一些热门网站的“下载”区https://www.pcworld.com/https://www.cnet.com/
2。如果您希望包括在编译时的图标,您将需要确保你的编译器支持这个。万博1manbetx一般过程创建一个指向资源文件图标,以资源编译器编译它,然后包括资源文件编译时编译应用程序。
步骤MSVC编译器:
1。创建一个新的Win32控制台应用程序
2。右键单击“资源文件”,然后选择“添加- >新项目”
3所示。在新的窗口中,在“Visual c++”下,选择“资源”
4所示。然后在“Visual Studio安装模板”部分,选择“资源文件(.rc)”
5。指定一个资源文件的名称并单击“添加”
6。再次右键单击“资源文件”,选择“添加资源”
7所示。选择“图标”,然后单击“新”
8。创建图标
9。构建解决方案(F7)
10。将生成的r文件复制到文件夹与MATLAB代码
11。编制MATLAB代码:
世纪挑战集团- m myfile。m - m icon.res
图标的地方。resis the compiled resource file. You can use the "-M" flag to specify compile-time options to your specific compiler. Type
医生世纪挑战集团
为更多的信息关于这个国旗。这些步骤可能取决于哪个版本的微软Visual Studio使用。如果你不使用微软的编译器,您可能想要看看你的第三方编译器支持图标文件。万博1manbetx
LCC编译器的步骤:
1。让图标文件被命名为“ship.ico”。如果你有一个图像文件(*。JPEG, *。TIFF, *。GIF, png…),你将需要使用一个第三方的工具(你可以在网上搜索图片转换器)将图像转换成一个ico图标文件。
2。创建一个新的文本文件和写“ConApp图标。图标”。重命名它为“的例子。rc”并将其保存在当前目录。
3所示。编译”的例子。rc”和“船。图标”文件中使用以下命令在MATLAB提示:
系统([“””matlabroot”领头\ sys \ lcc \ bin \“/我”松材线虫病“\ example.rc””]);
在这一步你将有一个资源文件”的例子。res”你的工作目录中创建。
4所示。MATLAB编译文件和资源文件一起使用- m选项:
世纪挑战集团- m file1。m - m example.res
file1。m MATLAB文件可以是任何你想要部署。这将创建一个“file1。exe" in your working directory with the same icon as "ship.ico".
如果您正在使用MATLAB编译器4.14 (R2010b)然后见下文:
步骤MSVC编译器:
在这里,而不是创建一个”。exe' file, you will need to create a C shared library and write wrapper driver code that calls the main function of the application. More information about this can be found in the link below.
//www.tianjin-qmedu.com/help/releases/r2010a/toolbox/compiler/f13 - 1001757. - html
自定义图标可以创建与EXE当司机代码编译。示例驱动代码我们使用MATLAB函数编译成LIBFIGURE.DLL FIGURETEST。请遵循以下步骤一旦你创建DLL:
1。使用上面的链接创建C共享库。
2。创建一个新的Win32控制台应用程序命名为“测试”。
3所示。右键单击“资源文件”,然后选择“添加- >新项目”
4所示。在新的窗口中,在“Visual c++”下,选择“资源”
5。然后在“Visual Studio安装模板”部分,选择“资源文件(.rc)”
6。指定一个资源文件的名称并单击“添加”
7所示。再次右键单击“资源文件”,选择“添加资源”
8。选择“图标”,然后单击“新”
9。创建图标
10。构建解决方案(F7)
11。写你的驱动代码的测试。cpp和vc++编译控制台应用程序通过正确地提供你的图书馆之路。示例驱动代码如下。
/ /测试。cpp:定义了控制台应用程序的入口点。
/ / libfigure共享库
/ / Figuretest ()图书馆的主要功能对应
/ / figuretest ()函数使用mcc m文件的编制
#包括“stdafx.h”
#包括< libfigure.h >
int_tmain (int命令行参数个数,_TCHAR * argv [])
{
/ /必须找到路径
如果(! mclInitializeApplication (NULL, 0))
{
流(stderr,无法初始化应用程序。\ n”);
返回1;
}
/ /初始化图书馆
如果(! libfigureInitialize ()) {
流(stderr,“不能初始化库。\ n”);
返回2;
}
其他的
{
/ /调用图图书馆
mlfFiguretest ();
mclWaitForFiguresToDie(空);
printf (“成功”);
/ /终止
libfigureTerminate ();
mclTerminateApplication ();
}
返回0;
}
LCC编译器的步骤:
没有解决方法除了使用第三方产品插入图标后编译应用程序。s manbetx 845
3评论
吉安卡洛Meccariello
吉安卡洛Meccariello 2021年5月17日
你能指定步骤3。
3所示。编译”的例子。rc”和“船。图标”文件中使用以下命令在MATLAB提示:
系统([“””matlabroot”领头\ sys \ lcc \ bin \“/我”松材线虫病“\ example.rc””]);
在这一步你将有一个资源文件”的例子。res”你的工作目录中创建。
我的项目不是安装在同一目录作为我的matlab。我救了.rc和ico文件在同一文件夹作为我的应用程序设计师。
如果我运行上面的代码在Matlab命令窗口我得到消息目录不能被发现。

登录置评。

更多的答案(3)

奥斯卡Lundberg
奥斯卡Lundberg 2018年1月4日
我发现它更方便写了一段简短的脚本编译应用程序,而不是使用GUI编制独立的. exe。如何添加图标呢?我试着与Visual Studio第一个答案,但它不工作,然后我发现导游不为Matlab 2017工作。
2的评论
克里斯托弗•莫尔
克里斯托弗•莫尔 2020年3月26日
对于任何寻找解决方案兼容从matlab构建从命令行或脚本,这是一个简单的答案:
有一个无证mcc命令的选项。- r将允许您使用命令添加一个图标。换句话说:
mcc <选项> - r“路径/ /我/ icon.ico”
正如你所期望的工作。在R2018b进行测试。

登录置评。


羌族高
羌族高 2015年7月14日
我按照她的要求做了,但是,在最后一步,当我用“mcc - m file1。m - m example.res", matlab displays "The option -M is ignored in standalone target mode (specify -? for help). " Does any know how to fix it?
9日评论
肯尼蜀
肯尼蜀 2019年8月29日
嗨Seum本·拉赫曼,这听起来像是你进入一个不同的问题。接触MathWorks技术支持协助。万博1manbetx

登录置评。


迈克
迈克 2016年5月3日
我认为最简单的解决方案是更换默认图标在编译器工具箱- > - >资源然后正常编译。为我工作。
2的评论
迈克
迈克 2016年6月9日
编辑:迈克 2016年6月9日
在编译器工具箱- > - >资源目录大约有12个图标标记default_icon_ * . png。每个文件都有一个独特的大小相同但图标。你可以替换所有这些png文件与他人相同的大小和格式(你可能想要备份原件稍后如果你想切换)。

登录置评。

类别

找到更多的在MATLAB编译器SDK帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!