【发布时间】:2018-11-04 15:22:53
【问题描述】:
我使用的是 Ubuntu,并且我已经在 Eclipse Neon 中编写了我的 c++ 代码。 我的工作区包含 4 个项目。主项目称为 BaseCppProjectRun(它包含 main.cpp 文件),我还有其他具有以下名称的项目:编码器、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 运行它,一切正常。
如何从终端运行我的程序?
【问题讨论】:
-
您的共享库是否与可执行文件在同一个文件夹中(或者对它可见)?我的猜测是“不”。我不在 Eclipse 中编写 C++ 代码,但对于 Java,可以选择导出“可执行文件”并将库与它一起打包。 C ++可能有类似的选择吗?否则,您可以手动复制库。
-
默认运行时加载器与可执行文件不在同一目录中。幸运的是,这不是 Windows。
-
@JeromeReinländer 我试图将我的 so 文件复制到我的可执行文件的同一目录中。我遇到了同样的错误。
-
@YaronIsraeli ...直接在 Jerome 的评论下方阅读我的评论...
-
@MarcusMüller 感谢您的更正。
标签: c++ linux eclipse terminal