无法找到库png ++

时间:2015-11-17 22:17:57

标签: c++ eclipse image

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

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

我真的不知道该怎么做。 谢谢!

2 个答案:

答案 0 :(得分:1)

经过几天,泪水和血液,我的教授(丹尼尔布拉克博士)明白了!以下是我们为使其发挥作用所做的工作。我希望你永远不需要在Windows机器上使用这个库(conf:Windows 10,MinGW,Eclipse):

  • 确保您拥有MinGW安装管理器,安装基本设置中的所有软件包,然后在"所有软件包"中查找" msys-zlib",类dll
  • 现在打开cmd(Windows + x,A,以管理模式打开)
  • 你必须打开" msys.bat",转到C:\MinGW\msys\1.0\msys.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 ++创建项目
  • 转到配置&gt; C / C ++ Build&gt;将配置设置为&#34;调试[有效]&#34;
  • 然后是C / C ++ Build&gt;设置&gt; GCC C ++编译器,添加到&#34;包含路径(-l)&#34;,文件夹png ++的路径以及包含文件png.h的文件夹的路径,在我的情况下它是&#39; s in&#34; C:\ MinGW \ msys \ 1.0 \ mingw \ include&#34;
  • 转到MinGW C ++ Linker&gt;图书馆,添加到&#34;图书馆(-l)&#34;只是&#34; png&#34;并且在&#34;图书馆搜索路径(-L)&#34; libpng.a文件夹的路径,在我的例子中,&#34; C:\ MinGW \ msys \ 1.0 \ mingw \ lib&#34;
  • 保存
  • 要使用它,请在标题中添加#include <png.hpp>(不是#include <png++/png.hpp>
  • 它会有警告,你可以忽略它
  • 它不起作用!
  • 在您的MinGW终端中
  • ,转到具有&#34; eclipse.exe&#34;的文件夹。并以这种方式打开Eclipse(不要问我,我的教授说了一些关于路径的东西,我不知道为什么) 也许你可以简单地使用另一个编译器,但我不能,或使用Linux。

答案 1 :(得分:0)

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

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

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