当我用这个编译我的程序时:
g++ -std=c++11 main.cpp -o run
我收到此错误(不确定,因为我没有使用__istype
中的任何代码):
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
我搜索过但无法找到答案。一个建议是包括libstdc++.a
的完整路径,但没有做任何事情:
g++ -std=c++11 main.cpp -o run /opt/local/lib/gcc48/libstdc++.a
但是,当我在我的机器上使用clang++
进行编译时,程序会编译并运行。
对于这个特定项目,我必须使用g++
(服务器没有clang ++,但确实有g ++ v4.8)。我有什么可以做的吗?
修改:我尝试which g++
查看g++
的安装位置。然后我运行了命令/opt/local/bin/g++ -std=c++11 main.cpp -o run
,但它也最终给出了相同的错误。