c++ - 从 Eclipse 获得可分发程序需要做什么?

标签 c++ eclipse redhat

我已经在 Redhat 上运行的 Eclipse 中生成了一个 C++ 程序,它可以通过 Eclipse 编译和运行。

我认为要将它与 Eclipse 分开运行,您可以使用通过项目属性设置的目录中的构建工件。

但是这个可执行文件没有运行(我知道它是一个可执行文件,因为我已经通过项目的属性将它设置为可执行文件,并且它通过 ls 命令和文件资源管理器显示为可执行文件)。

尝试使用可执行文件的名称运行它时,出现错误:

bash: <filename>: command not found

尝试将其作为 bash 文件运行时:

<filename>: <filename>: cannot execute binary file

当在文件名前加上“./”运行它时,没有任何反应。正在运行的进程中没有出现任何新内容,终端只是转到下一行,就好像我只是在没有命令的情况下按下了回车键。

有什么帮助吗?

最佳答案

您或多或少已经自己找出了第一个错误。当你运行 <filename> ,它不在你的 PATH 环境变量中,所以你得到“找不到命令”。您必须在程序运行时提供完整或相对路径才能运行它,即使您与程序位于同一目录中 - 您可以使用 ./<filename> 运行它。

当您运行您的程序时,它似乎只是在您启动它时就退出了 - 如果不知道该程序做了什么或看不到一些代码,我们对此无能为力。

您可以进行一些调试,例如程序刚退出后运行 echo $?查看它是否以特定的退出值退出,或者使用 strace 运行您的程序工具来查看它做了什么(或者按照通常的方式进行,插入 printf 调试,或者使用 gdb 调试)

关于c++ - 从 Eclipse 获得可分发程序需要做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6346791/

相关文章:

c++ - 从具有固定长度记录的文件中读取

java - 使用 Selenium Java 启动浏览器时出现问题

android - 如何为 Android 设置 Eclipse

Linux 环境变量行为

linux - Linux Red Hat 6.0 Enterprise 安装中文语言包

C++ operator+ 重载单链表

c++ - 从 Base* 的容器向下转换为 Derived* 而无需显式转换

c++ - 在运行时获取共享库C++的文件名

java - 如何在 Eclipse 中将类链接到项目

linux - lib/lib64 文件夹在 red hat linux 中重命名。无论如何要修复它?