ft2build.h: 没有这个文件或目录 - Freetype 2.6

5

我试图从Linux构建,因为我决定开始使用Jenkins,这是我的个人工作。即使安装了freetype:v.2.6.3,它仍然无法识别ft2build.h。

这是带有freetype的QT Pro。我现在正在运行Ubuntu 16.04:

linux {
    message("Build for Linux")
    DEFINES += LINUX
    DEFINES += BOOST_LOG_DYN_LINK
    LIBS += -lGLU
    LIBS += -lfreetype
    LIBS += -L/usr/lib/x86_64-linux-gnu/-libboost_timer.so -libboost_log.so -libboost_log_setup.so -libboost_system.so -libboost_thread.so -libboost_filesystem.so
}

所以我尝试手动更改lib指针,如下所示:
LIBS *= -L/usr/local/lib/ -lfreetype

但是还是没什么进展。我得到的错误来自lGLU。

In file included from displays/display.cpp:3:0:
displays/./../oglft/oglft.h:50:22: fatal error: ft2build.h: No such file or directory
compilation terminated.
Makefile:1093: recipe for target 'display.o' failed

我通常会运行 'qmake make clean' 然后 /usr/lib/x86_64-linux-gnu/qt5/bin/qmake && make && make check 来确保它能正常启动。有人可以帮我解决这个bug吗?

我通过以下方式检查了freetype库所在的位置:

pkg-config --cflags --libs freetype2

这是我得到的结果

-I/usr/local/include/freetype2 -L/usr/local/lib -lfreetype

你应该先找到库的完整路径。你能分享一下“find / -type f -name ft2build.h”命令的输出吗? - Ali Okan Yüksel
@AliOkanYüksel/usr/local/include/freetype2/ft2build.h /usr/include/freetype2/ft2build.h - Born2Pizza
您应该在Makefile中找到CC变量,并将“-I / usr / local / include / freetype2 -L / usr / local / lib”参数附加到CC命令变量中。 - Ali Okan Yüksel
@AliOkanYüksel,我已经完成了,但是还是出现了相同的错误!无论如何,感谢你的帮助! - Born2Pizza
你先运行了 "make clean" 吗? - Ali Okan Yüksel
好的,先执行 make clean,然后我编辑了 Makefile,接着运行 qmake && make && make check,但是还是出现了相同的错误。 @AliOkanYüksel - Born2Pizza
1个回答

0
问题已解决!

我不得不将FREETYPE设置为环境变量,就像BOOST一样,现在一切都正常工作了!这是我的设置:

export BOOST=/var/lib/jenkins/workspace/boost_1_59_0
export FREETYPE=/var/lib/jenkins/workspace/freetype-2.6.3

我更喜欢将这两个库移动到Jenkins下,以避免权限问题。

;-)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接