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