我尝试在 Ubuntu 上安装一个程序,它使用 main.cpp。我不知道为什么,但它总是出错。(main.cpp 语法 100% 正确)并且这个程序在 Mac 系统上运行没有错误,但在 ubuntu 上不行。我不知道如何修复它。请问您能帮助解决这个问题吗?
g++ 版本:g++ (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
以下错误:
g++ -O2 -g -Wall -fmessage-length=0 -I/usr/include/mysql -c -o main.o main.cpp
In file included from /usr/include/c++/4.6/sstream:580:0,
from /usr/local/include/glog/logging.h:44,
from main.cpp:13:
/usr/include/c++/4.6/bits/sstream.tcc: In member function ‘virtual std::basic_stringbuf<_CharT, _Traits, _Alloc>::int_type std::basic_stringbuf<_CharT, _Traits, _Alloc>::overflow(std::basic_stringbuf<_CharT, _Traits, _Alloc>::int_type)’:
/usr/include/c++/4.6/bits/sstream.tcc:112:39: error: expected unqualified-id before ‘(’ token
/usr/include/c++/4.6/bits/sstream.tcc:114:35: error: expected unqualified-id before ‘(’ token
make: *** [main.o] Error 1
答案1
在 Google 上搜索该错误消息建议这是由于宏max
干扰了代码造成的sstream.h
. 尝试在包含以下内容的位置上方添加以下几行main.cpp
:
#undef max
#undef min