已通过MacPorts安装FreeImage。看起来一切正常,但当我构建我的应用程序并尝试在没有安装MacPorts和FreeImage的其他电脑上启动时,它说
dyld: Library not loaded: /opt/local/lib/libfreeimage.3.dylib
Referenced from: /Users/development/Library/Developer/Xcode/DerivedData/freeimage-dxsornyaxqlkyubqwsrlkgszvxhy/Build/Products/Debug/freeimage.app/Contents/MacOS/freeimage
Reason: image not found它不应该和我的项目一起复制库文件吗?我将它们添加到项目的构建阶段“复制文件”列表中。它们被复制到我的应用程序的捆绑包中。但是当我尝试链接它们时,我得到了同样的错误。我不知道为什么,但应用程序仍然在/opt/local/lib中查找库。我如何修复它,以便我可以在我的项目中使用FreeImage并在任何计算机上运行它?
发布于 2012-07-27 16:28:48
当您通过MacPorts安装时,该库安装在/opt/local/lib中,而不是您的项目路径中。即使复制了整个项目,也不会复制*dylib库,因为它们通常位于/opt/local/lib中。
我相信你有两个选择:在你想要运行你的应用程序的每台计算机上安装FreeImage,或者把similar image.3.dylib复制到你的二进制文件所在的同一文件夹中,如果两个系统都相似,那应该可以工作。如果两台计算机在操作系统版本、硬件架构等方面不同...那么你所拥有的.dylib很可能与另一台计算机不兼容。
您可能需要考虑的另一件事是修改DYLD_LIBRARY_PATH变量,该变量指定了OS在链接时将在其中查找库的路径。有关详细信息,请参阅。
https://stackoverflow.com/questions/11684061
复制相似问题