我已经从源代码编译了FreeImage并安装了它。
当我运行sudo make install
时,在我的系统上安装以下文件
/usr/local/include/FreeImage.h
/usr/local/lib/libfreeimage-3.10.0.dylib
/usr/local/lib/libfreeimage.a
然而,在我的C ++程序中,当我这样做时它会显示error file not found
:
#include <FreeImage.h>
我尝试将其添加到我的系统路径文件中:
sudo vi /etc/paths
#FreeImage
/usr/local/include
/usr/local/lib
但是C ++仍然无法在Xcode或gcc中找到我的#include
。
答案 0 :(得分:3)
您不想要/etc/paths
文件中的这些目录。该文件列出了shell搜索可执行文件的目录。
尝试:
$ CFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib" make
$ sudo make install
您可能需要将/usr/local/lib
添加到DYLD_LIBRARY_PATH
以确保可执行文件运行:
$ export DYLD_LIBRARY_PATH=/usr/local/lib:$DYLD_LIBRARY_PATH
(假设您的DYLD_LIBRARY_PATH
变量没有/usr/local/lib
,并且它开头并非空。如果它是空的,则应该export DYLD_LIBRARY_PATH=/usr/local/lib
代替。)
编辑:好的,根据您的评论,看起来应该可行:
export CMAKE_INCLUDE_PATH=/usr/local/include
export CMAKE_LIBRARY_PATH=/usr/local/lib
有关详情,请参阅What to do if cmake doesn't find the package although it exists on the system?。
由于你使用的是Cmake的GUI版本,你应该这样做:
打开“属性列表编辑器”,单击“添加子项”。对于“新项目”,输入CMAKE_INCLUDE_PATH
,对于类型,将其保留为“字符串”,对于值,输入/usr/local/include
。然后,再次点击“添加项目”,为“新项目”输入CMAKE_LIBRARY_PATH
,将类型保留为“字符串”,输入“值”,输入/usr/local/lib
。然后将(文件 - &gt;另存为)保存到文件中。我建议在您的桌面文件夹中使用文件名a.plist
。然后打开终端(Appilcations - &gt; Utilities - &gt; Terminal)并输入:
mv ~/Desktop/a.plist ~/.MacOSX/environment.plist
之后,退出Xcode和Cmake gui,然后重新启动。这应该工作。有关技术详情,请参阅this,有关详情,请参阅this。