Objective c 找不到FreeImage库
通过MacPorts安装了FreeImage。看起来一切正常,但当我构建我的应用程序并试图在另一台没有安装MacPorts和FreeImage的计算机上启动时,它说Objective c 找不到FreeImage库,objective-c,xcode,macos,dynamic,Objective C,Xcode,Macos,Dynamic,通过MacPorts安装了FreeImage。看起来一切正常,但当我构建我的应用程序并试图在另一台没有安装MacPorts和FreeImage的计算机上启动时,它说 dyld: Library not loaded: /opt/local/lib/libfreeimage.3.dylib Referenced from: /Users/development/Library/Developer/Xcode/DerivedData/freeimage-dxsornyaxqlkyubqwsrlk
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并在任何计算机上运行它?通过MacPorts安装时,库安装在/opt/local/lib中,而不是项目路径中。即使复制整个项目,*dylib库也不会被复制,因为它们通常位于/opt/local/lib中 我相信您有两种选择:在您希望运行应用程序的每台计算机上安装FreeImage,或者将libfreeimage.3.dylib复制到二进制文件所在的同一文件夹中,如果两个系统相似,应该可以工作。如果这两台计算机在操作系统版本、硬件架构等方面不同。。。那么您拥有的.dylib可能与其他计算机不兼容
您可能要考虑的另一件事是修改<代码> DydLRealAythPix变量,该变量指定操作系统在链接时查找库的路径。有关更多信息,请参阅。
操作系统正在/opt/local/lib
中查找动态库,但您的包中有动态库,因此找不到它们。