如何用C++编写桌面程序

小白一枚,在百度搜了一些答案,但是既不系统,也不全面,还是很迷茫,所以到各大论坛,平台去提问,详情如下:我用C++写了一个视频处理的程序,是引用的opencv3.1的类库... 小白一枚,在百度搜了一些答案,但是既不系统,也不全面,还是很迷茫,所以到各大论坛,平台去提问,详情如下:
我用C++写了一个视频处理的程序,是引用的opencv3.1的类库完成的,开发环境win7 x64+VS2013 community,用的x64编译环境(对opencv3.1有较好的支持)。但是现在只能在控制台显示结果和操作。我想把它做成一个独立的软件,就像VS一样,有操作界面,有可视化窗口,还有对应的环境相关文件自动配置(即,在任一新机上运行安装,不必再重新手动配置环境)请问我该学习哪方面的知识呢?

我C++和opencv的基础还可以,但主要是以前没有做过这方面的,不知道该如何入手。还请诸位大神指点。
展开
 我来答
匿名用户
2016-08-15
展开全部
你可以学学界面库的使用,比如MFC或者Qt或者其他了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
FrankHB1989
2016-08-15 · TA获得超过4.2万个赞
知道大有可为答主
回答量:4569
采纳率:100%
帮助的人:3127万
展开全部
C++撸桌面app通常都是辣鸡。基本上都有(大量)逗比接口的私货需要额外学习;要么就是干脆包装Web内核糊了一坨,不仔细优化就渣体验,而且依赖库的二进制体积都不小,部署成本很容易明显不符合题主要求。

如果只是做单独的app(而不是搞框架二次开发),Qt勉强凑数。虽然金玉其外败絮其中,而且经常不是纯C++(依赖moc/QML),但矮子里面挑将军,整体工具(构建工具、设计器、包括VS在内的IDE集成)完成度相对比较高也支持多个主流平台(Windows/Linux/OS X等),许可证要求宽松(LGPL),可选商业支持,对单独的app项目来讲风险比较低。虽然需要发布的二进制体积还是偏大,但容易做到比主流Web和.NET之类的方案紧凑,自己控制要发布的动态库(Windows上一般是一些dll,不需要注册)对普通app项目不算太不友好而可以接受。

MFC只能Windows用,API设计就比较烂(还不如直接Win32 SDK),架构乏善可陈只有Document-View,虽然仍在维护但很早开始就比较过时,IDE支持仅限VS(效果远不如C#项目可见M$自己的倾向性)。VS 2013以前正式的开发需要商业授权(VS Express不包括MFC)。如果不是项目历史代码兼容需求,一般不建议考虑。

其它备胎wxWidgets/Gtkmm/FLTK之类在Windows上基本是鸡肋,不是项目历史包袱(比如移植需求),不考虑脚本绑定,不需要折腾。

真倒腾框架的,自己搭建整体解决方案,界面库基本是自己解决的。
追问
额,我是个学生,目前对于搞app才刚入门,对于C++的了解,其实仅限于以前练过一段的ACM,要论工程开发经验,几乎为零。所以,你的话,感觉好高端啊,但是我有些看不太懂,阁下的意思是先从Qt入手?
追答
如果不打算转行而短期内确有做app的需求,那么Qt是可以优先考虑的,只要注意别认为Qt自身的实现代码代表了多好的工程实践而上当浪费时间扩展定制,进退空间比较大,也不至于吊死在一棵树上。(虽然可能之后也没法再忍受大多数其它C++解决方案了。) 

如果打算专业做桌面app,参考非C++的方案仍然是必须的,因为迟早会发现都是辣鸡……

ACM/ICPC和实际项目的差距比较大,如果没有决定方向,可以看看其它语言的是否适合自己感兴趣的应用领域再考虑。毕竟C++在实际项目中用起来坑得多(特别是你没法限制别人怎么配合你写代码的时候)。

当然如果限定基于OpenCV做项目,C++在某种程度上是必选的。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式