Qt和Boost(通过Homebrew安装)导致Qt编译错误

时间:2015-12-06 22:13:29

标签: qt boost homebrew

我处于这个问题(Qt Creator on Mac and boost libraries)中描述的确切情况,但接受的答案对我不起作用。我已经四处搜索并尝试了我发现的所有建议,但我仍然最终出现错误

环境:

  • OSX 10.9.5
  • Qt 5.5.1 - Qt Creator 3.5.1 - 使用Qt安装 安装程序
  • Boost 1.59.0 - 通过Homebrew安装
  • 能够编译和运行Qt应用程序

创建新的Qt测试应用程序后,当我将Boost信息添加到上面链接的问题中描述的.pro文件(如下所示)时,我最终在Qt类中出现了非常令人困惑的编译错误。我不明白。有没有人理解这个冲突,知道如何解决这个问题 - 我已经在这几个小时了。

enter image description here

QT   += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = audiowaveform_test
TEMPLATE = app
SOURCES += main.cpp\
        mainwindow.cpp

HEADERS  += mainwindow.h
FORMS    += mainwindow.ui

macx {
    QMAKE_CXXFLAGS += -std=c++11

    _BOOST_PATH = /usr/local/Cellar/boost/1.59.0
    INCLUDEPATH += "$${_BOOST_PATH}/include/"
    LIBS += -L$${_BOOST_PATH}/lib
    ## Use only one of these:
    LIBS += -lboost_chrono-mt -lboost_system # using dynamic lib (not sure if you need that "-mt" at the end or not)
    #LIBS += $${_BOOST_PATH}/lib/libboost_chrono-mt.a # using static lib
}

1 个答案:

答案 0 :(得分:0)

我终于通过更改.pro文件中的这一行来实现它:

QMAKE_CXXFLAGS += -std=c++11

到此:

CONFIG += c++11

如果有人能解释-std在编译器中的含义,我将不胜感激。这是否意味着所有应编译为c++11