2

我已经从源代码编译了 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++ 仍然找不到我的#include内部 Xcode 或 gcc。

4

1 回答 1

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

请参阅如果 cmake 未找到该软件包(尽管它存在于系统上)该怎么办?更多。

由于您使用的是 Cmake 的 GUI 版本,因此您应该这样做:

打开“属性列表编辑器”,单击“添加子项”。对于“新项目”,输入CMAKE_INCLUDE_PATH,对于类型,将其保留为“字符串”,对于值,输入/usr/local/include。然后,再次单击“添加项目”,CMAKE_LIBRARY_PATH“新建项目”输入,类型为“字符串”,“值”输入/usr/local/lib。然后将(文件->另存为)保存到文件中。我建议a.plist您的桌面文件夹中的文件名。然后打开一个终端(Appilcations -> Utilities -> Terminal)并输入:

mv ~/Desktop/a.plist ~/.MacOSX/environment.plist

之后,退出 Xcode 和 Cmake gui,然后重新启动。那应该行得通。有关技术细节,请参阅此,有关更多信息,请参阅

于 2009-12-14T04:05:28.410 回答