【发布时间】: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
这是解决方案,对很多人都有效(在某处找到),但对我没有结果。当我尝试将它包含在 main.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