【问题标题】:issue with unordered_map on macmac上的unordered_map问题
【发布时间】:2016-02-06 19:22:35
【问题描述】:

我想编译我找到的 c++ 源代码。该代码在 linux (Qt) 上运行良好,但在 Mac OS X (10.9.5) 上我在 QT 上出现此错误:

/Users/Anass/test2/segmenter.h:19: erreur : 'unordered_map' file not    
found
#include <unordered_map>
         ^

当我更换

"#include <unordered_map>" by "#include<tr1/unordered_map>" 

该行带有绿色下划线,错误更改为该行,其中:

/Users/Anass/test2/segmenter.h:21: erreur : 'unordered_set' file not    
found
#include <unordered_set>
         ^

我保留了相同的 .pro 文件(为 linux 定义):

QT       += core gui opengl
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = Superfacets
CONFIG   += console
CONFIG   -= app_bundle

TEMPLATE = app

QMAKE_CXXFLAGS_RELEASE += -fpermissive
QMAKE_CXXFLAGS_DEBUG += -fpermissive
QMAKE_CXXFLAGS += -std=c++0x
QMAKE_CXXFLAGS_RELEASE -= -O2
QMAKE_CXXFLAGS_RELEASE += -O3


SOURCES += main.cpp \
Vertex3D.cpp \
Vertex2D.cpp \
Triangle.cpp \
Timer.cpp \
segmenter.cpp \
Reader.cpp \
normals.cpp \
meshvisualizer.cpp \
Edge.cpp \
dialogs.cpp \
colormapper.cpp

HEADERS += \
Vertex3D.h \
Vertex2D.h \
Triangle.h \
Timer.h \
Sorting.h \
segmenter.h \
Reader.h \
normals.h \
meshvisualizer.h \
Mesh.h \
Edge.h \
dialogs.h \
colormapper.h


LIBS += -lGLU

clang 版本是:

clang --version
Apple LLVM version 6.0 (clang-600.0.57) (based on LLVM 3.5svn)
Target: x86_64-apple-darwin13.4.0
Thread model: posix

我在谷歌上搜索,发现它可能与“stdlib”有关,但我真的是编译专家。

有什么帮助吗?

【问题讨论】:

  • 他们在这里是一个commenst,但他们消失了怎么来的?
  • 尝试使用-std=c++11而不是-std=c++0x进行编译
  • 我将 QMAKE_CXXFLAGS += -std=c++0x 替换为 QMAKE_CXXFLAGS += -std=c++11 ,但问题仍然存在
  • 是的,我看到了这些。但是,当我添加“-stdlib=libc++”时,我遇到了这个新问题:错误:-stdlib=libc++ 的无效部署目标(需要 OS X 10.7 或更高版本)“

标签: c++ qt


【解决方案1】:

快速谷歌显示this fix。添加

QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.7

到您的.pro 文件以及上述

QMAKE_CXXFLAGS += -std=c++11

【讨论】:

  • 抱歉,我没有找到此修复程序。现在可以了。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-03-18
  • 2020-03-24
  • 2017-12-05
  • 2019-06-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多