找不到库 png++

Can't find library png++

本文关键字:png++ 找不到      更新时间:2023-10-16

我正在尝试使用png++库。已经将它添加到eclipse中的库搜索路径中(windows用户,如果相关的话),但我得到了

fatal error: png++/png.hpp: No such file or directory

我真的不知道该怎么办。非常感谢。

好的。您需要逐一检查您的设置。

  • 它(png++)是一个C++库,因此您必须在运行/调试设置
  • 将库包含文件夹添加到该编译器的设置中
  • 若要实际链接到库,需要将.lib/.a文件或DLL添加到链接器设置中

我不太喜欢Eclipse CDT,但它就是这样工作的。如果你在没有C++经验的情况下尝试进行图像处理,我建议你使用python/Java,它们很容易使用。

经过几天的努力,我的教授(博士Daniel Brake)终于明白了!以下是我们为使其发挥作用所做的工作。我希望你永远不需要在Windows机器上使用这个库(conf:Windows10,MinGW,Eclipse):

  • 确保您有MinGW安装管理器,安装了基本设置上的所有软件包,并在"所有软件包"中查找"msys-zlib",class dll
  • 现在打开cmd(Windows+x,A,以管理模式打开)
  • 你必须打开"msys.bat",转到C:MinGWmsys1.0msys.bat
  • 它将打开一个类似unix的终端,然后键入:
    • mingw-get install libz-dev
    • cd /path/to/libpng/folder
    • ./configure -prefix=/mingw
    • make
    • make install
  • 谷歌png++,下载它,然后使用MinGW终端转到包含它的文件夹:
    • cd /path/to/png++/folder
    • tar -zxf png++-0.2.x.tar.gz -C
  • 在png++页面中,转到http://savannah.nongnu.org/bugs/?46312并将文件下载到png++文件夹
  • 替换error.hpp文件
  • 使用文本编辑器打开刚才下载的error.hpp文件
  • #include <sstream>添加到包含
  • 查找零件并对其进行评论:

    strerror_r(errnum, buf, ERRBUF_SIZE); return std::string(buf);

  • 现在,将其添加到上面的同一块中:std::stringstream ss; ss << errnum; return ss.str();
  • 保存并关闭
  • 现在,打开Eclipse,为png创建项目++
  • 转到"配置">"C/C++构建">将"配置"设置为"调试[活动]"
  • 然后,C/C++构建>设置>GCC C++编译器,添加到"Include paths(-l)",文件夹png++的路径和包含文件png.h的文件夹的路径,在我的情况下,它位于"C:\MinGW\msys\1.0\MinGW\Include"
  • 转到MinGW C++Linker>Libraries,在"Libraries(-l)"中只添加单词"png",在"Library seach path(-l)"中添加libpng.a文件夹的路径,在我的情况下是"C:\MinGW\msys\1.0\MinGW\lib"
  • 保存
  • 要使用它,请在标头中添加#include <png.hpp>(而不是#include <png++/png.hpp>
  • 它会有一个警告,你可以忽略它
  • 它不起作用
  • 在你的MinGW终端中,转到有"eclipse.exe"的文件夹,然后以这种方式打开eclipse(不要问我,我的教授说了一些关于路径的事情,我不知道为什么)也许你可以简单地使用另一个编译器,但我不能,或者使用Linux