Julia 将.jl脚本文件打包为可执行文件
一、构建exe文件
第一步:
using Pkg
Pkg.add("PackageCompiler")
第二步:使用包管理器创建应用程序的源代码所需要的项目和清单文件。
using Pkg
Pkg.generate("MyApp")
生成如下文件夹:
在MyApp ==> src ==> MyApp.jl 文件中的内容替换为你的代码,其中下面的 julia_main( ) 函数是程序的入口函数:
function julia_main()::Cint# do something based on ARGS?return 0 # if things finished successfully
end
第四步:执行以下命令,等待程序执行完成
using PackageCompilercreate_app("MyApp", "MyAppCompiled")
最后生成的文件在 MyAppCompiled ==> bin 中,名字为 MyApp.exe。
二、构建安装包
1. 创建源代码
Step1 在VScode中创建Tutorial文件夹,使用快捷键 Alt + J + O 进入Julia REPL;
Step2.1 通过pwd()函数可选择当前工作目录
Step2.2 通过cd()函数改变当前工作目录
Step3 在Tutorial文件夹下创建sourcecode.jl文件
Step3.1 编译代码,快捷键:Shift + Enter
Step3.2 在REPL中输入:helloapp( ) 进行测试
Step3.3 通过快捷键 Ctrl+L 清除REPL控制台界面,无法清楚变量。在.jl文件开头添加以下代码可实现
clear() = run(`cmd /c cls`)
为了确保clear( )函数的定义在helloapp()函数之前,需要在helloapp()的末尾添加一行clear()函数的使用。
2. 创建项目
STEP1
在Tutorial中创建一个新的文件夹(文件夹名称为你的应用名),此处为HelloApp;
在HelloApp文件夹下新建文件夹src文件夹;
在src文件夹下创建和应用程序名称相同的 .jl 文件,HelloApp.jl;
HelloApp.jl的内容如下:
STEP2
在HelloApp文件夹下创建 precompile_app.jl 文件,在此文件中你可列出任何你想提前编译的任务
STEP3
在HelloApp文件夹下创建 Project.toml 文件
Project.toml 文件包含name, UUID, authors, version
name 为应用程序的名称
UUID 可通过以下方式产生
3. create_app()
STEP1
首先确保当前工作目录正确
STEP2
在Julia REPL中输入以下代码
julia> using PackageCompiler
julia> create_app("HelloApp","HelloAppCompiled")
creat_app("应用程序的项目名称","应用程序目录名称")
STEP3
执行完成后,将生成一个HelloAppCompiled文件夹,在此文件夹下的bin文件夹中包含一个HelloApp.exe的文件,这就是最终的文件。
4. 获得 .ico 文件(可选)
下载 .ico 文件并放在bin文件夹下
5. 打包应用程序
使用 Inno Setup 打包应用程序,下载网址如下:
Inno Setup Downloads
STEP 1
在Welcome界面选择"Creat a new script file using the Script Wizard"
Step 2
Step 3
选择应用程序的main可执行文件
Step 3 选择 Add folder
Step 4 选中文件夹的位置,点击Edit,在Destination subfolder下输入bin
Step 5
Step 6
使用快捷键 Ctrl+F 查找所有的{app}并替换为{app}\bin
Step 7 添加代码
[Icons]
Name: "{autoprograms}\{#MyAppName}"; Filename: "{app}\bin\{#MyAppExeName}"
Name: "{autodesktop}\{#MyAppName}"; Filename: "{app}\bin\{#MyAppExeName}";IconFilename:"{app}\bin\图标.ico"; Tasks: desktopicon
Step 8 保存文件至HelloAppCompiled文件夹下
Step 9 进行编译
编译完成后将在HelloAppCompiled问价下生成新的文件夹Output,Output文件夹下的文件夹HelloApp_setup.exe即为应用安装程序。
参考资源:
Home · PackageCompiler
How to use the app generated by PackageCompiler.jl? - General Usage - JuliaLang
https://www.youtube.com/watch?v=jjJ2xHpxwHg
Julia 将.jl脚本文件打包为可执行文件相关推荐
- python脚本打包成linux命令_Python脚本文件打包成可执行文件的方法
{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...
- linux运行python脚本_将Python脚本文件包装成可执行文件
将Python脚本文件包装成可执行文件,其目的有二: 一则: 不需要依赖Python编译器就可以运行软件 二则: 不想让自己的源码公布出去 常用的工具有: py2exe.cx_freeze等 [工具: ...
- Python 文件打包成可执行文件
import randomwhile True:#系统给出随机数字sys_num = random.randint(1,10)print(sys_num)while True:print(" ...
- python读取文件并存入mysql_1.python读取txt文件并插入到mysql数据库以及将py脚本文件打包成独立的exe程序...
读取txt文件并插入到mysql数据库 该小脚本适用于每天生成日志等信息到txt文本,然后通过windows的计划任务定时去执行python脚本打包成的exe文件,并将txt中内容读取以及格式化后插入 ...
- python的py文件打包exe可执行文件(传参+读取文件)
python打包成可执行文件用pyinstaller即可完成 但是如果需要考虑传参和读取文件,就显得不是那么丝滑了.(找了蛮久才解决的) 下面将展示如何完成打包后的exe文件实现能够传参+读取文件 首 ...
- python使用cxfreeze将脚本文件打包为可执行程序的方法
之前尝试过使用pyinstaller对python脚本进行打包,但使用pyinstaller的过程中遇到了许多另我不满意的地方,如打包后的文件体积太大,打包后程序根目录下无关文件太多太杂等等. 因此我 ...
- python文件封装成jar_【Python】Python文件打包为可执行文件
之前写的用于创建.链接Jenkins slave脚本是使用Python实现的,为了使未安装Python环境的伙伴也可以直接使用,故需要将其可直接执行的exe可执行文件. 一.安装pyinsatller ...
- python文件打包成可执行文件exe的两种方法
python 可以做网站应用,也可以做客户端应用.但是客户端应用需要运行 py 脚本,如果用户不懂 python 就是一件比较麻烦的事情.幸好 pyton 有第三方模块可以将脚本可以转成 exe 执行 ...
- python文件打包成可执行文件pyinstaller -F ***.pt
碰到问题: 1.取消dos窗口(黑框框) 方法一:pyinstaller -F mycode.py --noconsole 方法二:pyinstaller -F -w mycode.py (-w就是取 ...
最新文章
- A Grain of Sand 一粒沙子
- spinbox 上下箭头事件_[React] 3 - 自动绑定 (事件绑定)
- wxWidgets:wxDataObjectComposite类用法
- hello world的Java代码,Java语言实现hello world代码
- mysql安装目录问题_Windows下MySQL的安装目录问题
- mysql 建立索引的例子_mysql建立合适的索引的例子
- 二叉排序树的删除操作
- 多重响应交叉表点不动确定_风靡全球的尼克巨星登陆杭城!还有19.9元美食、多重惊喜好礼……嗨翻12月!...
- 网页设计师必备的35套图标(免费下载)
- Java开发知识之Java的包装类
- c语言gs迭代法解方程,ex1_7-GS迭代法例题源程序及注释.pdf
- 接口测试 python+PyCharm 环境搭建
- matlab结构地震,结构地震反应解析递推格式的Matlab实现
- 算法分析与设计实验报告——0-1背包问题的动态规划算法实现
- 开发交接文档_为开发人员创造更好的设计交接体验
- 计算机主板电源管理线路图,笔记本电源维修方法详解【图文教程】
- 我们很高兴地宣布我们正在与 OKC 整合
- 论文阅读《High-Definition Map Generation Technologies For Autonomous Driving: A Review》1
- [机器学习]Lasso,L1范数,及其鲁棒性
- ELK入门(十八)——Kibana APM server安装部署
热门文章
- 香港卫星地图 百度卫星地图香港地图全图高清版
- visio2013复制到word有多余白边_[office 2016]visio图全选复制后粘贴到word后有很宽空白的解决...
- 百度、阿里、滴滴、新浪的面试心经总结,一线互联网公司面经总结
- 什么是通用离散传感器
- 街霸对决最新服务器机柜销售,街霸对决:2021年1月14日更新维护公告
- 国产开源软件j-im搭建简单聊天工具过程
- 90% 的 CDP 成了摆设?3 家零售企业说可以这么玩
- 迈克菲实验室报告揭示:网络犯罪锁定医疗保健系统
- eBUS Player查找相机的型号等信息
- 【采用】大数据风控---身份反欺诈信贷全流程常用指标及策略