【发布时间】: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 或更高版本)“