g++4.8编译不了auto,已加-std=c++11

问题描述

g++4.8编译不了auto,已加-std=c++11

ubuntu14.04, 64位, gcc 4.8 g++4.8已装 

文件server_main.cpp_中

 int stringToInt(const std::string& str)
{
    for(auto s : str)
    {
        if(!isdigit(s))
        {
            std::cout<<"illegal number";
            exit(-1);
        }
    }
    ...
}

makefile里代码如下:

 server_objects = m_socket.o serverSocket.o  server_main.o
client_objects = m_socket.o clientSocket.o  client_main.o

all : server client
server: $(server_objects)
    g++ -Wall -std=c++11 -o server $(server_objects)

client: $(client_objects)
    g++ -Wall -std=c++11 -o client $(client_objects)

m_socket: m_socket.cpp
    g++ -std=c++11 -Wall -o m_socket m_socket.cpp
serverSocket: serverSocket.cpp
    g++ -std=c++11 -Wall -o serverSocket serverSocket.cpp
clientSocket: clientSocket.cpp
    g++ -std=c++11 -Wall -o clientSocket clientSocket.cpp
**server_main: server_main.cpp
    g++ -std=c++11 -Wall -o server_main server_main.cpp  **
client_main: client_main.cpp
    g++ -std=c++11 -Wall -o server_main server_main.cpp

clean:
    rm -f *.o server client

执行make后


请问怎么解决,是机子还是ubuntu的问题吗。。。。不胜感激。

解决方案

g++ 4.8有点老,用5.x版本的吧。

解决方案二:

换gcc6。用最新版本。支持c++14了

时间: 2024-09-12 22:44:54

g++4.8编译不了auto,已加-std=c++11的相关文章

[安卓初学者]添加按钮监听 编译通过 运行空指针[已解决]布局里按钮id不要写成name

问题描述 [安卓初学者]添加按钮监听 编译通过 运行空指针[已解决]布局里按钮id不要写成name 自学<第一行代码>到broadcastreceiver 添加按钮监听编译通过 运行提示空指针 把教材源代码复制到新android工程 问题依旧肯定是添加按钮监听代码的问题 去掉之后可以正常运行 而且我还发现 现在编写最简单 按钮跳转activity都会报同样错误 虽然自学时间不长 可是自从学会看logcat 遇到的问题 都自己解决了麻痹 这次折腾3天了 找不到问题 百度关键字 就找到一个类似的问

c++-C++成员函数前加类型,在g++下的编译错误,在vs2012下编译通过,什么原因

问题描述 C++成员函数前加类型,在g++下的编译错误,在vs2012下编译通过,什么原因 abc.cpp#include using namespace std;class MY{public: void MY::print() { cout<<""sdjflsdj""<<endl; } };int _tmain(int argc _TCHAR* argv[]){ MY my; my.print();return 0; } g++ abc.

GDB如何调试没有符号表(未加-g选项的编译)的程序

/********************************************************************* * Author  : Samson * Date    : 01/30/2015 * Test platform: *              3.13.0-24-generic *              GNU bash, 4.3.11(1)-release  * *****************************************

mod tile-mod_tile编译出错 -std=c++11 or -std=gnu++11

问题描述 mod_tile编译出错 -std=c++11 or -std=gnu++11 make[1]: 正在进入目录 /home/wml/src/mod_tile-master' depbase=echo src/gen_tile.o | sed 's|[^/]*$|.deps/&|;s|.o$||'`; g++ -DHAVE_CONFIG_H -I. -I./includes -I/usr/include/freetype2 -pthread -I/usr/local/include -I

系统加载的问题-系统提示已加载1UA5.1.DLL,但没有找到DLLREGISTERSERVER输入点。无法注册这个文件

问题描述 系统提示已加载1UA5.1.DLL,但没有找到DLLREGISTERSERVER输入点.无法注册这个文件 这是在安装lua5.1.dll控件的时候的提示,我不知道怎么回事,希望各位朋友帮忙解答,谢谢了

销毁单例-iOS退出登录问题,如何在退出登录时清空已加载的界面?

问题描述 iOS退出登录问题,如何在退出登录时清空已加载的界面? 请问有没有人做过退出登录,如何在退出登录时清空已经加载的页面?比如登录进来后进入一个tabBar(单例),如何在退出登录时将这个单例也销毁掉? 解决方案 你说的是应该是从主页面退出到登录注册界面吧?说实话我没这样做过,因为没意义啊退一步,如果你把真的把单例销毁了,登进去又要重新生成-- 解决方案二: 可以设置监听,在退出登录时发送监听,但是也感觉你这个操作没有必要,再下次用户登录的时候会请求心得数据将原来的数据覆盖,若是退出也会自

robotium 翻页-Robotium 的翻页问题,有什么方法能抓取超过一屏的已加载信息

问题描述 Robotium 的翻页问题,有什么方法能抓取超过一屏的已加载信息 我要使用robotium测试个列表,需求是这样的,做一个遍历,将列表中的城市都选一边,列表如下列表是进这个页面就加载好的,只是超过一屏幕需要上拉才能看到所有列表我的测试代码如下.结果反映,超过一屏的内容,并没有找到我想请问,除了drag以外还有什么方法能选到超过一屏的test view吗.另外个人觉得使用drag效果也不是很理想,因为循环中每次都向上拖拉的话,可能会导致列表上方的城市选不到代码: solo.clickO

java虚拟机如何查找已加载的类?java虚拟机在代码中为指定类加载器时如何选择类加载器?

问题描述 java虚拟机如何查找已加载的类?java虚拟机在代码中为指定类加载器时如何选择类加载器? tomcat不同webapp相互隔离是怎么做到的? 通过不同webapp使用不同的类加载器加载做到的? 怎么指定某个webapp使用哪个类加载器?不是每个类都用classLoader.loadClass()吧.

检测jQuery.js是否已加载的判断代码_jquery

当然,该方法不局限于jQuery的检测,对与任何Javascript变量或函数都是通用的. 当前网页加载jQuery后,jQuery()或$()函数将会被定义,所以检测jQuery是否已经加载存在以下2种方法: 方法1: 复制代码 代码如下: if (jQuery) { // jQuery 已加载 } else { // jQuery 未加载 } 方法2: 复制代码 代码如下: if (typeof jQuery == 'undefined') { // jQuery 未加载 } else {