Qt 和 Boost(通过 Homebrew 安装)导致 Qt 编译错误
Qt and Boost (installed through Homebrew) result in Qt compile errors
我正处于这个问题 (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类。我不明白。有没有人了解冲突并知道如何解决这个问题 - 我已经处理了几个小时了。
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
}
我终于通过更改 .pro 文件中的这一行使其工作:
QMAKE_CXXFLAGS += -std=c++11
对此:
CONFIG += c++11
如果有人能解释一下 -std
在编译器中的含义,我将不胜感激。这是否意味着 所有 都应该编译为 c++11
?
我正处于这个问题 (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类。我不明白。有没有人了解冲突并知道如何解决这个问题 - 我已经处理了几个小时了。
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
}
我终于通过更改 .pro 文件中的这一行使其工作:
QMAKE_CXXFLAGS += -std=c++11
对此:
CONFIG += c++11
如果有人能解释一下 -std
在编译器中的含义,我将不胜感激。这是否意味着 所有 都应该编译为 c++11
?