X11。找不到符号:_CGLGetCurrentContext

时间:2016-06-30 02:03:19

标签: macos qt opengl x11 dlib

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

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

运行应用程序时的输出:

  

dyld:未找到符号:_CGLGetCurrentContext参考自:   /System/Library/Frameworks/CoreVideo.framework/Versions/A/CoreVideo
  期望:   /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL in   /System/Library/Frameworks/CoreVideo.framework/Versions/A/CoreVideo

我该如何解决这个问题?

UPD: .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:错误:找不到'X11 / Xlib.h'文件

1 个答案:

答案 0 :(得分:2)

如果您需要控制台应用程序 - 为什么要链接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

应该是 - DD LIB_NO_GUI_SUPPORT

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