Linux Desktop开发日志

记录

记录的是Linux桌面程序的开发,不是服务器开发

环境搭建

系统

准备两台机器,一个装Linux作为开发机、另外一个装Windows作为辅助。
Q:为什么不用虚拟机?
A:虚拟机里不适合桌面开发:太卡,UI操作也不方便。

Linux机器装Fedora,不要装其他发行版。
Q:Fedora有什么好?
A:凭个人经验,Fedora是个全栈的系统,所有工具都集成。其他发行版总有某个模块(或软件)是集成第三方的。

Q:windows机器干嘛用的
A:配合开发机用:下载东西,查文档等等。Linux下不能做的事实在太多。不一一列出了。弄台辅助机器,省时省力。

Q:两台机器怎么传数据,传文件。
A:没有开箱即用的办法。比较麻烦,ftp、samba都需要配置,飞秋之类的兼容性比较差。

IDE

不用,Linux下没有一个通吃所有的集成环境。选择了某个IDE就意味着有很多迁移工作要做。
推荐:
管理自己的代码用CMake,扩展性好,依赖少,跨平台,使用方便。
第三方代码用它自带的BuildSystem(通常是AutoTool)
自己的代码引用第三方库,就用CMake的FindPackage

编译器:
GCC、Clang都可以,个人比较推荐clang。

编辑器:
随意,习惯用哪个就用哪个

打包方式:
别用rpm、dpkg之类的。用rar或zip压缩包,解压即用(类似windows的绿色软件)
为了防止跟系统的库冲突,可以用linux-user-chroot启动一个容器,在容器里运行app,代码如下:
linux-user-chroot --mount-bind ${APP_ROOT}/usr /usr / $*
把这段代码保存到文件,runapp.sh,运行app时,用命令:

APP_ROOT=/your/app/dir runcmd.sh appname

依赖的库怎么办
尽可能的全打包。编译用rpath写死依赖库的路径。
Q:为什么要全打包
A:把依赖库拆出来,是Distor管理系统的方式,很明显不适合App级别的管理。你见哪个应用程序把自己安装到C:\Windows目录下的,还不得被用户骂死。应用程序就要自己独占一个目录,所有资源:可执行程序、文档、素材都放一起。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值