要从Eclipse获得一个可分发的程序,需要做些什么? 我在Eclipse上运行了一个C++程序,它运行在ReHAT上,通过Eclipse编写和运行良好。

要从Eclipse获得一个可分发的程序,需要做些什么? 我在Eclipse上运行了一个C++程序,它运行在ReHAT上,通过Eclipse编写和运行良好。,c++,eclipse,redhat,C++,Eclipse,Redhat,我认为要在Eclipse中单独运行它,需要使用构建工件,该工件位于通过项目属性设置的目录中 但是这个可执行文件没有运行(我知道它是一个可执行文件,因为我通过项目的属性将它设置为可执行文件,并通过ls命令和文件资源管理器显示为可执行文件) 当尝试使用可执行文件的名称运行它时,我得到错误: bash: <filename>: command not found 未找到bash::命令 尝试将其作为bash文件运行时: <filename>: <filename>

我认为要在Eclipse中单独运行它,需要使用构建工件,该工件位于通过项目属性设置的目录中

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

当尝试使用可执行文件的名称运行它时,我得到错误:

bash: <filename>: command not found
未找到bash::命令 尝试将其作为bash文件运行时:

<filename>: <filename>: cannot execute binary file
::无法执行二进制文件
当在文件名前面加“/”运行时,什么也不会发生。在运行的进程中没有出现任何新的内容,终端只是转到下一行,就好像我刚刚在没有命令的情况下按了enter键一样


有什么帮助吗?

您自己或多或少已经找出了第一个错误。当您刚刚运行
时,它不在PATH环境变量中,因此您会得到“command not found”。为了运行程序,您必须给出程序的完整路径或相对路径,即使您与程序位于同一目录中—您使用
/

当你运行你的程序,它似乎只是退出只要你启动它-我们不能帮助很多,如果不知道什么程序做或看到一些代码


您可以进行一些调试,例如,在程序刚刚退出后,运行
echo$?
以查看它是否以特定的退出值退出,或者使用工具运行您的程序以查看它的功能(或者以通常的方式执行,插入printf调试,或者使用gdb进行调试)

此命令的功能是什么:
/yourprogram;echo$?
?尝试通过gdb运行它
gdb路径/to/executable
查看gdb将写什么。可能未找到某些共享对象(DLL)。至少在这里gdb应该声明smth。谢谢,我只是没有想到程序在运行时会失败,因为它在eclipse中运行时没有问题。我得到的错误是它找不到共享库文件“libboost_thread.so.1.43.0”。这是预期的,因为我没有安装Boost1.43,我有Boost1.46.1!你知道为什么要找图书馆的旧档案吗?(我已检查了库设置等,仅参考1.46.1)