在另一台计算机上运行a.out

use*_*417 6 c++ linux sdl

我已经在我的计算机(Ubuntu 12)上成功编译了一个程序(包括SDL),并且a.out运行得很好!

现在,如果我发送a.out给朋友,它就行不通.(给出简单的错误消息("Can't be run..")或者其他东西)但是如果我再次在朋友计算机上编译相应的源文件,它就可以了!

如何打包/编译/制作我的程序以使其在其他计算机上运行?

Lev*_*von 5

可执行文件通常特定于它们创建的环境/机器.即使涉及相同的处理器/硬件,也可能存在对库的依赖性,这可能会阻止可执行文件在其他计算机上运行.

你能直接发送带有编译指令的源代码吗?假设没有NDA或其他问题阻止这种方法(我只是建议,因为你提到这对你有效)

当然,最终可能,毕竟这是二进制文件的分布方式,但它们将被精心构建并具有静态链接库(即所有内容都是可执行文件的一部分).