IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> [学习笔记]C/C++和python程序编译成Linux下可执行文件 -> 正文阅读

[系统运维][学习笔记]C/C++和python程序编译成Linux下可执行文件

[学习笔记]C/C++和python程序编译成Linux下可执行文件

1. C/C++程序编译成可执行文件

参考b站上一位博主的教程(地址见参考1),利用cmake生成MakeFile进行编译,此处以一个自用的程序为例,记录一下整个编译过程

1.1 CMake安装

一般linux系统下已经安装了,此处我是在windows下用的ubuntu20.04子系统,系统本身带了cmake,输入camke --version可以查看版本。

在这里插入图片描述

1.2 制作CMakeList.txt

进入到包含所有程序源文件的文件夹下,创建CMakeList.txt,文件名区分大小写,输入以下内容:

PROJECT(muitCaldSTEC C CXX)
  
SET(SRC_LIST cal_dstec.c gamp.h ionex.c myMath.c myRinex.c myRtkcmn.c myStr.c results.cpp rtkcmn.c)

MESSAGE(STATUS "This is BINARY dir " ${muitCaldSTEC_BINARY_DIR})

MESSAGE(STATUS "This is SOURCE dir " ${muitCaldSTEC_SOURCE_DIR})

ADD_EXECUTABLE(muitCaldSTEC ${SRC_LIST})
  • CMakeList.txt文件中语法在教程中有详细介绍,这里第一行PROJECT(muitCaldSTEC C CXX)中,muitCaldSTEC为生成的可执行文件名,C CXX表示程序语言包含C和C++;第二行给出了用到的源文件列表。
1.3 运行camke

准备好CMakeList.txt文件后,在当前文件夹下运行:

在这里插入图片描述

出现generating done表示正常生成,此时文件目录下生成了对应的MakeFile:

在这里插入图片描述

此时可以查一下MakeFile文件:

在这里插入图片描述

1.4 运行make

在当前目录下运行make进行编译,这个过程可能会比较长,如果出现报错,则需要根据相应的提示去原来的代码里排查错误。

在这里插入图片描述
在这里插入图片描述

最后出现[100%] Built target muitCaldSTEC表示成功生成可执行文件。

在这里插入图片描述

2. python程序编译成可执行文件

python程序编译相对来说比较简单,首先安装pyinstaller:(此处我的已经安装过)

在这里插入图片描述

再在包含脚本文件的文件夹下运行pyinstaller即可:

在这里插入图片描述

过程比较长,等结束后当前目录下会生成/dist/子目录,生成的可执行文件就在该目录下,

在这里插入图片描述

参考:

  1. 从零开始详细介绍CMake

  2. python脚本文件编译成可执行文件(.exe文件)

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-06-20 23:09:26  更:2022-06-20 23:10:01 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/30 1:49:27-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码