代码之家  ›  专栏  ›  技术社区  ›  Brock Woolf

#include<freeimage.h>未找到

  •  1
  • Brock Woolf  · 技术社区  · 15 年前

    我已经从源代码编译了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中。

    1 回复  |  直到 14 年前
        1
  •  3
  •   Alok Singhal    15 年前

    不要 希望这些目录在 /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_库路径 变量没有 /urr/本地/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 ,对于类型,将其保留为“string”,对于值,输入 /usr/local/include . 然后,再次单击“添加项目”,然后输入 CMAKE_LIBRARY_PATH 对于“新项目”,将类型保留为“字符串”,对于“值”,输入 /usr/本地/lib .然后将(文件->另存为)保存到文件。我建议使用文件名 a.plist 在桌面文件夹中。然后打开终端(应用程序->实用程序->终端)并键入:

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

    之后,退出xcode和cmake gui,然后重新启动。那应该管用。见 this 技术细节,以及 this 更多。