cmake构建python调用C++

news/2025/12/9 12:38:45/文章来源:https://www.cnblogs.com/lely/p/19326011

了解到python写界面很方便也美观,想搞个小场景,实现用python写界面调用C++程序的流程。

小场景:计算加法

1、Python 程序show.py :创建了一个 GUI 界面,让用户输入两个数字,点击"相加"按钮时,调用C++程序

2、C++ 程序addsum.cpp :接收参数,将两个参数转换为整数并相加,输出结果

3、CMakeLists.txt :构建 C++ 程序sum_res

show.py

import tkinter as tk
from tkinter import filedialog, ttk
import subprocessclass ShowAddApp:def __init__(self, root):self.root = rootself.root.title("求加法")self.root.geometry("550x200")ttk.Label(text="num a").pack(side=tk.LEFT, padx=5)self.add_enter_a = tk.StringVar()add_a = ttk.Entry(textvariable=self.add_enter_a,width=5)add_a.pack(side=tk.LEFT, padx=5, fill=tk.X, expand=True)ttk.Label(text="num b").pack(side=tk.LEFT, padx=5)self.add_enter_b = tk.StringVar()add_b = ttk.Entry(textvariable=self.add_enter_b,width=5)add_b.pack(side=tk.LEFT, padx=5, fill=tk.X, expand=True)self.browse_btn = ttk.Button(text="相加", command=self.get_add_res)self.browse_btn.pack(side=tk.LEFT, padx=5)ttk.Label(text="相加结果").pack(side=tk.LEFT, padx=5)def get_add_res(self):numA = self.add_enter_a.get()numB = self.add_enter_b.get()if not numA or not numB:tk.messagebox.showwarning("警告", "请输入A和B")returntry:result = subprocess.run(["./sum_res", numA, numB],capture_output=True,text=True,check=True)res_num = result.stdoutttk.Label(text=res_num).pack(side=tk.LEFT, padx=5)except subprocess.CalledProcessError as e:tk.messagebox.showerror("错误1",f"C++程序执行失败: {e.stderr}")except Exception as e:tk.messagebox.showerror("错误2",f"发生未知错误:{str(e)}")if __name__ == "__main__":root = tk.Tk()app = ShowAddApp(root)root.mainloop()

 

addsum.cpp

#include <iostream>
using namespace std;
int main(int argc, char* argv[]){if(argc!= 3){cerr<<"Usage argc: "<< argc <<endl;return 1;}int c = stoi(argv[1]) + stoi(argv[2]);std::string numStr = std::to_string(c);cout << numStr << endl;return 0;
}

 

CMakeLists.txt

cmake_minimum_required(VERSION 3.10)
project(AddSum)set(CMAKE_CXX_STANDARD 11)add_executable(sum_res addsum.cpp)

构建程序执行的命令

cmake -S . -B build

cd build && make  

复制生成文件sum_res到源文件目录

python3 show.py 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/994684.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

不锈钢风机公司TOP1!不锈钢风机哪个品牌好?

在工业通风领域,“耐腐蚀、高可靠”是不锈钢风机的核心,英飞不锈钢风机YFBCSL、YFBCSR、YFBCSK、YFBCSU、YFBCSO、YFBCSE、YFBCSC、YFFCSC覆盖工艺送排风、防爆排烟、高压输送等全场景需求,打造耐腐蚀、耐磨损、耐高…

2025年最新拖车平台推荐,这5家服务好、口碑佳!,拖车推荐排行聚焦优质品牌综合实力排行

随着汽车保有量的持续增长和跨区域流动的日益频繁,汽车托运(俗称“拖车”)服务已成为连接二手车交易、个人异地迁移、新车配送等场景的关键纽带。面对市场上众多的服务提供商,消费者如何选择一家安全、高效、透明的…

精选国内真空上料机行业五大标杆企业推荐,华成机械市场口碑佳

本文依托全维度市场调研与真实行业口碑,深度筛选出五家真空上料机领域标杆企业,重点围绕华成机械基本信息、华成机械的技术研发投入多吗、华成机械市场口碑如何三大核心关键词展开分析,为企业选型提供客观依据,助力…

查询CVE与CWE的关联信息

查询CVE与CWE的关联信息你可以通过以下几种途径查询CVE与CWE的关联信息: 查询途径网址/方式主要特点NIST国家漏洞数据库 (NVD) 访问 https://nvd.nist.gov/,搜索CVE编号 最权威的官方来源,每个CVE条目详情中通常会列…

2025年昆明AI软件搜索广告结果推送排行榜,优质广告结果服

为帮助企业破解AI搜索流量截流、获客成本高企的痛点,精准锁定能产出优质广告结果的AI搜索服务商,我们从AI平台渗透能力(覆盖主流AI搜索平台数量、推荐稳定性)、关键词精准匹配度(蒸馏词体系有效性、无效流量过滤率…

2025年工业热水锅炉制造厂排名推荐,看看哪家售后服务好

在工业生产的热力供给体系中,蒸汽锅炉的性能直接影响企业的运营成本与发展潜力。随着双碳目标的推进,工业领域的绿色转型成为必然趋势,蒸汽锅炉作为高耗能设备,其环保性能、节能表现、稳定输出以及售后服务备受关注…

2025英国留学中介留学机构

2025英国留学中介留学机构一、如何选择2025年英国留学中介作为从事国际教育规划工作逾十年的资深顾问,我经常被学生和家长询问:“2025年申请英国留学,中介机构该如何筛选?”这一问题在搜索引擎中热度持续攀升,反映…

2025年河南轨道平车五大品牌排名:河南冠杰轨道搬运车、无轨

在工业4.0浪潮下,重型物料搬运的自动化升级成为制造企业降本增效的关键。轨道平车与无轨平车作为车间重载搬运利器,其稳定性、承载能力直接影响生产效率。面对市场上良莠不齐的供应商,如何选择适配自身工况的产品?…

2025英国留学中介哪个比较优秀

2025英国留学中介哪个比较优秀一、2025年英国留学中介如何选择?作为从事15年国际教育规划师,我经常被学生和家长询问:2025年申请英国留学,哪家中介更值得信赖?实际上,选择留学中介需要综合考量多个因素。根据《2…

2025英国留学中介怎么选

2025英国留学中介怎么选一、如何选择2025年英国留学中介作为从业超过十年的国际教育规划师,我经常被学生和家长询问:"2025年申请英国留学,应该如何选择中介机构?"这个问题的答案需要从多个维度进行考量。…

2025护墙板厂商top10年度盘点:十大品牌材料、工艺、环保、服务等维度深度解析,行业数据,市场口碑及选择指南

在装配式建筑加速普及与绿色装修需求激增的2025年,墙板定制因兼具环保、高效、美观等特性,成为酒店、会所、公寓等商业空间及新旧房改造的首选方案。据《2025中国建筑装饰材料行业趋势报告》显示,集成墙板市场年增长…

2025最好的英国留学中介机构有哪些

2025最好的英国留学中介机构有哪些一、2025年英国留学中介机构选择指南作为从事12年英国留学申请规划导师的李华,我经常遇到学生和家长咨询“2025年英国留学中介哪家靠谱”或“如何根据自身背景选择中介”。根据《202…

TDOA算法MATLAB实现:到达时间差定位

一、TDOA算法原理概述 到达时间差(Time Difference of Arrival, TDOA) 是一种基于多传感器协同的定位技术,通过测量信号到达不同传感器的时间差,结合传感器位置信息,反推信号源(如声源、无线发射源)的空间坐标。…

2025英国留学中介费用一览表

2025英国留学中介费用一览表一、2025年英国留学中介费用概览作为从业12年的国际教育规划师,我经常被家长和学生询问:“2025年申请英国留学,中介费用大概是多少?”根据《2025留学服务行业白皮书》数据,英国留学中介…

2025英国留学中介机构排名

2025英国留学中介机构排名一、2025英国留学中介机构选择指南作为从业15年的国际教育规划师,我经常被学生和家长询问如何选择可靠的英国留学中介机构。2025年,随着英国留学政策的调整,如签证简化措施和部分高校扩招国…

2025英国留学中介哪个比较好

2025英国留学中介哪个比较好一、2025年英国留学中介如何选择作为从业12年的国际教育规划师,我经常被学生和家长询问:2025年去英国留学,哪个中介更可靠?实际上,选择留学中介需综合考虑多个因素,而非单一标准。根据…

珠海爱尔眼科医院联系方式: 就诊预约流程与信息准备须知

一、珠海爱尔眼科医院官方联系方式 珠海爱尔眼科医院官方联系方式如下 电话:0756-3331677 微信号:18998173482 官网:http://www.aier0756.com 建议通过医院官网核实联系方式的准确性,并关注官网发布的最新服务时间…

2025年度中国矿用开关柜服务商排名TOP5,看哪家品质好

本榜单基于矿山电气领域专业调研与客户真实反馈,聚焦矿用开关柜产品安全性、适配性与运维能力三大核心维度,筛选出五家标杆服务商,为矿山企业选型提供客观参考,助力匹配符合恶劣工况需求的可靠伙伴。 TOP1 推荐:浙…

2025年五大专业伺服驱动器厂家推荐,国产伺服驱动器品牌测评

为帮企业高效锁定适配工业自动化需求的伺服驱动器合作伙伴,避免选型走弯路,我们从核心技术壁垒(如动态响应速度、重载稳定性)、产品适配场景(含极端工况兼容性、多行业定制化)、全周期服务能力(覆盖前期选型指导…