找不到库 png++
Can't find library png++
我正在尝试使用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
相关文章:
- std::map<struct,struct>::find 找不到匹配项,但是如果我循环通过 begin() 到 end(),我在那里看到匹配项
- 找不到成员对象:没有名为get_event()的成员,也处理多态性和向量
- 为什么野牛仍在使用"int yylex(void)",却找不到"int yylex(YYS
- C++ Windows 驱动程序MSB3030无法复制该文件,因为它找不到
- 奇怪的(对我来说)返回声明 - 在谷歌上找不到任何关于它的信息
- 找不到QtResource文件中的文件
- VC++本机单元测试,找不到调试符号
- RegGetValue在当前用户下找不到名称
- 带有 -stdlib=libc++ 的 clang++ 9.0.1 找不到<optional>
- c++找不到具有相同哈希的无序集合元素
- 找不到以下加速库:boost_fiber
- 找不到 FLTK(缺少:FLTK_INCLUDE_DIR)
- 设置 Visual Studio for MPI: 找不到标识符错误
- "assimp/config.h"找不到,但它在文件夹中
- 链接器找不到在虚拟类 c++ 中访问的静态字段的符号
- C++系统找不到指定的文件错误
- FindPackageHandleStandardArgs.cmake:137 的 CMake 错误(消息):找不到 Boost (缺少:正则表达式)(找到合适的版本"1.72.0",
- vcpkg 添加新库,但找不到
- Qt 5.11.2 (Clang 8.0 (Apple), 64 位), 找不到 QJSEngine 文件
- 找不到库 png++