在终端中运行可执行文件与在Mac查找器中打开

Run executable in terminal vs open in mac finder

本文关键字:查找 终端 运行 可执行文件 Mac      更新时间:2023-10-16

我有一个简单的程序,可以使用OpenCV 4.3显示图像。如果我在终端中运行它,例如./test_opencv它显示图像,但是如果我在 Finder 窗口中双击相同的可执行文件,则读取的图像为空。

这是什么原因造成的?

我包括cmake 3.16,苹果clang 11.0.3,并且包括所有opencv库。

它在终端上工作的原因是程序可以访问它需要的库。您应该通过添加到文件来将必要库添加到环境中.bashrc

打开终端并通过以下命令找到程序使用的所有库:

Ubuntu : ldd <path>
Mac: otool -L <path>

然后打开 bashrc 并添加其中不存在的库。这是 mac 上的 bashrc 的链接。此外,您还应该搜索什么是静态库和动态库