C++ 如何分发使用dylibs的osx程序?

C++ 如何分发使用dylibs的osx程序?,c++,xcode,macos,opencv,dylib,C++,Xcode,Macos,Opencv,Dylib,我使用opencv2编写了一个用于图像连接的小程序(osx,c++),但我在试图将其发送给我的朋友时遇到了一个问题。问题是,我只找到了两种构建opencv2的方法,并且只能将其构建到.dylib和.a文件中。我不知道如何正确地使用.a文件编译,当我使用.dylib文件编译时,我无法让程序在另一台计算机上找到它们。如何分发使用osx的.dylib文件的程序。我找到了一些关于在xcode中更改动态库安装名称和使用Install_Name_工具的类似问题的答案,但这些答案都没有帮助,或者可能是我用错了

我使用opencv2编写了一个用于图像连接的小程序(osx,c++),但我在试图将其发送给我的朋友时遇到了一个问题。问题是,我只找到了两种构建opencv2的方法,并且只能将其构建到.dylib和.a文件中。我不知道如何正确地使用.a文件编译,当我使用.dylib文件编译时,我无法让程序在另一台计算机上找到它们。如何分发使用osx的.dylib文件的程序。我找到了一些关于在xcode中更改动态库安装名称和使用Install_Name_工具的类似问题的答案,但这些答案都没有帮助,或者可能是我用错了。我还试图找到一种方法将opencv2构建到osx的.framework(不是ios)中,但在我的搜索中没有成功。我不知道在这一点上还能转到哪里。

最简单的方法是使用.a进行编译。你应该描述一下你尝试了什么,什么不起作用。我可能不知道如何将.a文件包含到项目中,因为我的代码找不到带有.a文件的opencv2的任何部分。我们是在谈论链接器错误(它说的是“未定义的符号”)还是编译器错误(它说的是“未声明的标识符”或类似的东西)?我相信“正常”的方法是将它们包括在应用程序包中。@zneak我又试了一次,现在我完全迷路了。使用静态库(.a)生成时引发运行时错误“dyld:Library not loaded:libopencv_calib3d.2.4.dylib”,引用自:/usr/local/lib/libopencv_contrib.2.4.dylib”。我没有在项目中构建任何dylib(无论是在与库的二进制链接中,还是在其他任何地方),文件“/usr/local/lib/libopencv_contrib.2.4.dylib”也在那里(就像它存在于那个地方一样)。最简单的方法是使用.a进行编译。你应该描述一下你尝试了什么,什么不起作用。我可能不知道如何将.a文件包含到项目中,因为我的代码找不到带有.a文件的opencv2的任何部分。我们是在谈论链接器错误(它说的是“未定义的符号”)还是编译器错误(它说的是“未声明的标识符”或类似的东西)?我相信“正常”的方法是将它们包括在应用程序包中。@zneak我又试了一次,现在我完全迷路了。使用静态库(.a)生成时引发运行时错误“dyld:Library not loaded:libopencv_calib3d.2.4.dylib”,引用自:/usr/local/lib/libopencv_contrib.2.4.dylib”。我没有任何用于在项目中构建的动态库(无论是在与库的链接二进制文件中,还是在其他任何地方),文件“/usr/local/lib/libopencv_contrib.2.4.dylib”也在那里(就像它存在于那个地方一样)。