请问使二进制文件在公司所有机器上最方便地运行起来的方法是什么?

2017-03-14 15:15:10 +08:00
 livc
公司系统不支持 docker ,有一个编译(C++)好的二进制文件,如何方便地让其他人能运行起来呢?

现在在研究 proot 这个方法, http://proot-me.github.io ,不知道各位有没有更好的想法?
2556 次点击
所在节点    Linux
14 条回复
wevsty
2017-03-14 15:19:24 +08:00
C or C++的话,全部静态编译,编译出来的单文件基本上放到哪里都能用。
如果是动态链接的, ldd 一下拷贝所有必须的 so 到指定目录就行了。
livc
2017-03-14 15:36:30 +08:00
@wevsty #1 是 C++,但是还有 python 的 API ,需要 pip install xxx.whl
mushuanl
2017-03-14 15:37:09 +08:00
做成包,然后使用 chroot 或 schroot 在 chroot 环境运行
googlebot
2017-03-14 15:53:36 +08:00
linux 没可能,
xingda920813
2017-03-14 16:05:28 +08:00
什么系统不支持 Docker? 难道是 CentOS 6?
livc
2017-03-14 16:07:13 +08:00
@xingda920813 #5 嗯。。
XiaoFaye
2017-03-14 16:10:01 +08:00
除了 B/S ,没有任何其它方法。
xingda920813
2017-03-14 16:47:28 +08:00
@livc

安装 Docker —— CentOS-6

https://wiki.centos.org/zh/Cloud/Docker

试试这个.
w2exzz
2017-03-14 16:48:05 +08:00
go 啊
c4pt0r
2017-03-14 16:50:36 +08:00
c/c++ static link

or

go
livc
2017-03-14 16:50:49 +08:00
@xingda920813 公司电脑哪有 sudo 权限啊。。

@w2exzz 很大的项目,说重写就重写?
lhbc
2017-03-14 16:54:48 +08:00
编译的时候指定 rpath ,然后把相关的库丢进去。
如果用的是系统自带的库,让运维搞定就行了。
系统没有的库再自己编译并指定 rpath
josephshen
2017-03-15 00:04:30 +08:00
https://github.com/Line7AtGithub/XBusLite/blob/master/src/XBus.cxx 我写的这个库里面有相应的动态加载的 python 的功能,你可以照着来一份. pip 装的东西完全可以打包后自行分发,只需要在启动 python 后把目录插入进 sys.path 里面就行。
josephshen
2017-03-15 00:10:49 +08:00
你目前的思路是错的,上面讲的大部分也都一知半解,一个脚本就基本可以解决你所有问题

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

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

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

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

© 2021 V2EX