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

Bor*_*zza 5 c++ qt qmake jenkins

我正在尝试从 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
}
Run Code Online (Sandbox Code Playgroud)

所以我尝试手动更改 lib 指针:

LIBS *= -L/usr/local/lib/ -lfreetype
Run Code Online (Sandbox Code Playgroud)

但仍然没有任何进展。我得到的错误来自 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
Run Code Online (Sandbox Code Playgroud)

我总是运行 'qmake make clean' 然后 /usr/lib/x86_64-linux-gnu/qt5/bin/qmake && make && make 检查以确保它正常启动。有人可以帮我解决这个错误吗?

我通过执行以下操作检查了 freetype lib 的位置:

pkg-config --cflags --libs freetype2
Run Code Online (Sandbox Code Playgroud)

这就是我得到的

-I/usr/local/include/freetype2 -L/usr/local/lib -lfreetype
Run Code Online (Sandbox Code Playgroud)

Bor*_*zza 0

问题解决了!

我也必须在环境变量中将 FREETYPE 设置为 BOOST,现在一切正常!这是我的情况:

export BOOST=/var/lib/jenkins/workspace/boost_1_59_0
export FREETYPE=/var/lib/jenkins/workspace/freetype-2.6.3
Run Code Online (Sandbox Code Playgroud)

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

;-)