【问题标题】:'png.h' file not found, when included in qt widget project当包含在 qt 小部件项目中时,找不到“png.h”文件
【发布时间】:2019-09-29 16:00:57
【问题描述】:

我正在尝试制作一个 QT Widgets 项目。我必须使用“libpng”库,但我在包含它时遇到了麻烦。这是配置 .pro 文件。

QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = coursework2
TEMPLATE = app

DEFINES += QT_DEPRECATED_WARNINGS
CONFIG += c++11

SOURCES += \
    main.cpp \
    mainwindow.cpp \

INCLUDEPATH += $(LIBRARY_SHARE)/libpng/include
LIBS += -L$(LIBRARY_SHARE)/libpng/lib -lpng

HEADERS += \
    mainwindow.h

FORMS += \
    mainwindow.ui

qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target

这是解决方案,对很多人都有效(在某处找到),但对我没有结果。当我尝试将它包含在 ma​​in.cpp 文件中时,会弹出此错误:

'png.h' file not found
 #include "png.h"
     ^~~~~~~

我该如何解决?

【问题讨论】:

  • 我要做的第一件事是暂时将此行添加到您的 .pro 文件中:warning("LIBRARY_SHARE IS " $$LIBRARY_SHARE),然后重新运行 qmake。这将打印到标准输出 LIBRARY_SHARE 变量的设置;检查该输出以确保 LIBRARY_SHARE 设置为应有的值,这样$$(LIBRARY_SHARE)/libpng/include/png.h 是有效路径。 (如果不是,您可以在 .pro 文件的顶部手动将 LIBRARY_SHARE 设置为需要设置的值)
  • @JeremyFriesner,是的,它实际上只是打印“Project WARNING: LIBRARY_SHARE IS ”而没有其他任何内容。但是如何设置 LIBRARY_SHARE 变量?
  • @JeremyFriesner,如果我设置了LIBRARY_SHARE = $usr/local/lib,什么都没有。
  • 我想你可能想去掉美元符号,即LIBRARY_SHARE = /usr/local/lib

标签: c++ qt libpng


【解决方案1】:

解决方案非常简单。我在 "libpng" 的根目录中犯了一个错误。

我不得不更改我的 2 行代码:

INCLUDEPATH += /usr/local/include
LIBS += -L/usr/local/lib/libpng

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-11-17
    • 1970-01-01
    • 1970-01-01
    • 2018-08-04
    • 2012-10-02
    • 1970-01-01
    • 2013-01-24
    相关资源
    最近更新 更多