我正在使用 Ubuntu,并且我已经在 Eclipse Neon 中编写了 C++ 代码。 我的工作区包含 4 个项目。主项目称为 BaseCppProjectRun(它包含 main.cpp 文件),我还有其他具有这些名称的项目:Encoders、frmwrk、NetworkLayer - BaseCppProjectRun 使用其中的每一个。
如果我直接从 Eclipse 运行我的程序,一切正常。 但我想从终端运行我的程序 - 但我不能。 因为当我尝试像这样运行我的程序时:
root@ubuntu:/builds/BaseCppProject/BaseCppProjectRun# ./Debug/BaseCppProjectRun
我收到此错误:
./Debug/BaseCppProjectRun: error while loading shared libraries: libfrmwrk.so: cannot open shared object file: No such file or directory
正如我之前所说,如果我直接从 Eclipse 运行它,一切都会正常。
如何从终端运行我的程序?
最佳答案
如果你不把 libfrmwrk.so 放在它通常看起来的地方,也不告诉它在哪里可以找到它,Linux 应该如何知道在哪里可以找到它。
Eclipse 似乎设置了运行时链接器查找的路径,以便在加载程序时,运行时链接器知道在哪里可以找到 libfrmwrk.so 等。
你要么必须
- 安装这些库 (.so),以便在默认位置找到它们,或者
- 设置
LD_LIBRARY_PATH
以包含要查看的所有文件夹。
我已经很久没有使用 Eclipse CDT 了,但您现在可能可以导出一些项目格式,以便轻松安装。
另一件事:您似乎正在运行仍在以 root 身份调试的软件:这是一个糟糕的主意,如果可以避免,就避免它。
关于c++ - 如何从终端运行用 eclipse 编写的 c++ 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50525601/