Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 找不到FreeImage库_Objective C_Xcode_Macos_Dynamic - Fatal编程技术网

Objective c 找不到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

通过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并在任何计算机上运行它?

通过MacPorts安装时,库安装在/opt/local/lib中,而不是项目路径中。即使复制整个项目,*dylib库也不会被复制,因为它们通常位于/opt/local/lib中

我相信您有两种选择:在您希望运行应用程序的每台计算机上安装FreeImage,或者将libfreeimage.3.dylib复制到二进制文件所在的同一文件夹中,如果两个系统相似,应该可以工作。如果这两台计算机在操作系统版本、硬件架构等方面不同。。。那么您拥有的.dylib可能与其他计算机不兼容


您可能要考虑的另一件事是修改<代码> DydLRealAythPix变量,该变量指定操作系统在链接时查找库的路径。有关更多信息,请参阅。

操作系统正在
/opt/local/lib
中查找动态库,但您的包中有动态库,因此找不到它们。