X11。找不到符号:_CGLGetCurrentContext

X11. Symbol not found: _CGLGetCurrentContext

我尝试在 OS X 上的 Qt 控制台应用程序中使用 dlib。所以除了另一行(我为测试删除的)我的 .pro 文件看起来像:

LIBS += -L/opt/X11/lib -lX11
INCLUDEPATH += /opt/X11/include

我运行应用程序时的输出:

dyld: Symbol not found: _CGLGetCurrentContext Referenced from: /System/Library/Frameworks/CoreVideo.framework/Versions/A/CoreVideo
Expected in: /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL in /System/Library/Frameworks/CoreVideo.framework/Versions/A/CoreVideo

我该如何解决这个问题?

更新: .pro 文件:

QT       += core
CONFIG   += console

CONFIG += c++11

TARGET = dlibOSX

SOURCES += main.cpp \
    ../../../Downloads/dlib-19.0/dlib/all/source.cpp

LIBS += -L/Users/user/Downloads/dlib-19.0/examples/build/dlib_build

INCLUDEPATH += /Users/user/Downloads/dlib-19.0
LIBS += -L/Users/user/Downloads/dlib-19.0 

INCLUDEPATH += /usr/local/Cellar/libpng/1.6.23/include /usr/local/Cellar/jpeg/8d/include
LIBS += -L/usr/local/Cellar/libpng/1.6.23/lib -L/usr/local/Cellar/jpeg/8d/lib -ljpeg -lpng -ljpeg -lz


INCLUDEPATH += /usr/local/Cellar/opencv/2.4.13/include
LIBS += -L/usr/local/Cellar/opencv/2.4.13/lib

QT += opengl

LIBS += -lopencv_core -lopencv_imgproc -lopencv_highgui

QMAKE_CXXFLAGS += -std=c++11 -DDLIB_PNG_SUPPORT -DDLIB_JPEG_SUPPORT -DLIB_NO_GUI_SUPPORT

错误:

nativefont.h:27: error: 'X11/Xlib.h' file not found

如果您需要控制台应用程序 - 为什么要链接 X11?

QT       += core 
CONFIG   += console

在那之后你好世界应该工作

如果您在应用程序中使用 OpenGL 函数 - 添加

QT += opengl

UPD:(更新问题答案)

1) 这里有一个错误:

QMAKE_CXXFLAGS += -std=c++11 -DDLIB_PNG_SUPPORT -DDLIB_JPEG_SUPPORT -DLIB_NO_GUI_SUPPORT

应该是-DDLIB_NO_GUI_SUPPORT

2) 如果你需要 X11/Xlib.h - 安装 XQuartz(对于 OSX)或 libx11-dev(Ubuntu)