关于 boost、Qt 和跨平台

2020-03-10 10:15:16 +08:00
 auto8888
新人发帖,原来在公司用 Qt 框架做了一个跨 windows linux 和 arm linux 的车载软件(无界面),现在准备做成产品,量产,几百套吧,领导不让用 Qt,要改成 C++的。
后面想到 boost 库也是跨平台的,也有文件系统、字符、线程、定时器、TCP UDP 这些,想着应该比自己造轮子来的稳定吧,那么 boost 好用吗,坑多吗,请教下各位大佬。
5903 次点击
所在节点    C++
36 条回复
nightwitch
2020-03-10 10:26:08 +08:00
好用,坑多。
newmlp
2020-03-10 11:15:40 +08:00
Qt 不就是 C++写的跨平台框架吗
augustheart
2020-03-10 11:26:19 +08:00
qt 不就是 c++的么……不用 qt 你们用啥做界面?
大致理解了一下意思,你们的内核不使用 qt ?
至于 boost……如果你想要拿它替代 qt 这种大而全的框架是做不到的。boost 充其量就是个标准库++。而且一旦用了 boost,啧啧,就和传染病似的……
wangsongyan
2020-03-10 11:28:47 +08:00
不让用 Qt,要改成 C++的
augustheart
2020-03-10 11:29:18 +08:00
@augustheart 哦,我瞎了,没看到无界面三个字……
shawnsh
2020-03-10 11:53:49 +08:00
肯定有坑,确实比 qt 的好一些,如果不上界面的话
mnssbe
2020-03-10 12:06:53 +08:00
@newmlp qt 商业授权要交钱的
wbing
2020-03-10 12:28:18 +08:00
文件系统、字符、线程、定时器、这些 STL 本身就有,交叉编译 boost 估计问题不少,
terryching
2020-03-10 12:36:25 +08:00
可以考虑下 POCO,容易理解一点,当然坑也不少
no1xsyzy
2020-03-10 12:36:54 +08:00
@mnssbe 你仍然可以以 GPL 提供给你的用户,因为你很放心你的用户不太理解自己有再分发的权利,即使你只需明确声称自己采用 GPL 发布,但听不懂的人就是听不懂。另一种情况是,“我买的东西为什么要免费再送给别人?”。
liukun1212
2020-03-10 12:49:08 +08:00
不建议用 boost,坑太多了。出了问题无从下爪,折腾的时间都够自己造轮子了。
Chenamy2017
2020-03-10 13:19:37 +08:00
直接上标准 C++,有些轮子造起来可能比你用他们的还香。
zjsxwc
2020-03-10 13:31:17 +08:00
换 golang 不是跟简单
Harv
2020-03-10 13:34:33 +08:00
我跟你们讲,Qt 商业化版权费贼贵。
newmlp
2020-03-10 13:45:26 +08:00
@mnssbe 为啥要商业授权啊,又不用动 Qt 源码
tomychen
2020-03-10 13:50:57 +08:00
如果不是重度依赖,这种跨平台+硬件,最好还是标准撸
auto8888
2020-03-10 14:37:06 +08:00
@terryching 粗略看了一下这个库貌似简单点,boost 全是模板,好难。比如网上一个获得文件夹大小的代码
namespace fs = boost::filesystem;
boost::uintmax_t dir_size(const fs::path &p)
{
return std::accumulate(
boost::make_transform_iterator(&fs::file_size, fs::recursive_directory_iterator(p)),
boost::make_transform_iterator(&fs::file_size, fs::recursive_directory_iterator()),
static_cast<boost::uintmax_t>(0));
}
编译出错了,根本不知道怎么改
mnssbe
2020-03-10 15:41:01 +08:00
@no1xsyzy 你的产品源码发布了客户看不懂,友商也看不懂? 如果声称 GPL 发布那就厉害了

@newmlp 你打算商用闭源就要授权
wangxkww
2020-03-10 16:39:27 +08:00
Qt 的 LGPL 为啥商用闭源就需要授权?
paoqi2048
2020-03-10 16:49:33 +08:00
你们公司该不会是害怕违反许可协议吧? Qt 有 LGPL 的呀,只要不对源码进行二次开发就没问题

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/651420

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX