C++ 未定义的符号uu是用/opt/local/bin/g++;?

C++ 未定义的符号uu是用/opt/local/bin/g++;?,c++,g++,clang,clang++,C++,G++,Clang,Clang++,当我使用以下命令编译程序时: g++ -std=c++11 main.cpp -o run 我收到此错误(不确定,因为我没有使用任何包含\uu istype的代码): 但是,当我在我的机器上使用clang++编译时,程序确实编译并工作 对于这个特定的项目,我必须使用g++(服务器没有clang++,但是有g++v4.8)。有什么我能做的吗 编辑:我尝试了哪个g++来查看g++的安装位置。然后我运行了命令/opt/local/bin/g++-std=c++11 main.cpp-o run,但

当我使用以下命令编译程序时:

g++ -std=c++11 main.cpp -o run 
我收到此错误(不确定,因为我没有使用任何包含
\uu istype
的代码):

但是,当我在我的机器上使用
clang++
编译时,程序确实编译并工作

对于这个特定的项目,我必须使用
g++
(服务器没有clang++,但是有g++v4.8)。有什么我能做的吗


编辑:我尝试了
哪个g++
来查看
g++
的安装位置。然后我运行了命令
/opt/local/bin/g++-std=c++11 main.cpp-o run
,但它也给出了相同的错误。

我认为您的glicxx版本有问题,希望此链接可以帮助您

由于您似乎有一个自定义的GCC安装,因此您运行的
g++
程序很可能来自系统,而不是您安装的程序,这可能会混淆问题。例如,尝试使用
哪个g++
查看您运行的程序位于哪个路径。运行
哪个g++
会显示它位于
/opt/local/bin/
中。有区别吗?(即使使用此
g++
,仍会收到相同的错误)。是的,但您真的调用了
/opt/local/bin
中自定义安装的
g++
,还是调用了系统安装的
g++
?你是否真的在写,例如,
/opt/local/bin/g++…
?是的,我正在写。我的完整命令是
/opt/local/bin/g++-std=c++11 main.cpp-o run
。它也给出了同样的错误。您可能希望编辑问题以包含该信息。
Undefined symbols for architecture x86_64:
  "__istype(int, unsigned long)", referenced from:
      std::ctype<char>::is(unsigned long, char) const in ccuyHAvU.o
ld: symbol(s) not found for architecture x86_64
collect2: error: ld returned 1 exit status
g++ -std=c++11 main.cpp -o run /opt/local/lib/gcc48/libstdc++.a