我是关于 linux 编译代码的新手。它可能是 Debian 5.0。我需要为它编译我的 cpp 代码以使其准备好运行,我的意思是其他人只需单击它就可以像在 Windows 中一样轻松运行程序。
有人可以帮忙吗?
我为此使用virtualbox。这既简单又方便。只要您拥有适当的许可证,您就可以运行多个 Linux 发行版和多个版本的 Windows。您还可以在每个虚拟机上运行 subversion 等,以便在构建时同步所有虚拟机的更改。
编译后,您可以轻松地在桌面上创建快捷方式 - 或在菜单上添加条目 - 以通过脚本启动程序;就像是:
#!/bin/bash
/path/to/your/progam
将其另存为launch.sh
-例如-并为其赋予 ugo+x 权限
chmod ugo+x launch.sh
创建快捷方式时,您可以将图标与您的脚本关联起来,就像在 Windows 中一样。
更新
如果您将编译后的程序发送给您的朋友(假设通过电子邮件)。您可以简单地指示您的朋友在他下载文件的同一目录中启动终端窗口并运行以下命令:
chmod ugo+x your_program
./your_program
或者您可以向他发送 2 个文件:一个带有您的程序,另一个带有我上面描述的“启动”脚本。由于这两个文件都将下载到同一个目录,因此您可以将启动脚本更改为:
#!/bin/bash
./your_program
当他单击 时launch.sh
,您的程序将被执行。
假设您希望能够在 Windows 上编译某些东西并让它在任何Linux 机器上运行,那根本不可能。Debian 和 Ubuntu 都支持许多架构,其中许多完全没有二进制兼容性。如果您知道您的朋友拥有什么类型的硬件,您可以构建一个针对该架构的二进制文件。
如果您想要一个快速而肮脏的答案,您可以为 i386 构建,因为 64 位机器可能仍然可以正常运行(虽然不能保证)。