相关疑难解决方法(0)

如何在Eclipse CDT中启用C++ 11/C++ 0x支持?

Eclipse 3.7.1 CDT 1.4.1 GCC 4.6.2

这是一段C++ 11代码的示例:

auto text = std::unique_ptr<char[]>(new char[len]);
Run Code Online (Sandbox Code Playgroud)

Eclipse编辑器抱怨:

Function 'unique_ptr' could not be resolved
Run Code Online (Sandbox Code Playgroud)

Makefile编译工作正常.如何让Eclipse停止抱怨这些错误?

c++ eclipse eclipse-cdt c++11

208
推荐指数
7
解决办法
22万
查看次数

decltype,result_of或typeof?

我有:

class A {
public:
    B           toCPD() const;
Run Code Online (Sandbox Code Playgroud)

和:

template<typename T>
class Ev {
public:
    typedef result_of(T::toCPD()) D;
Run Code Online (Sandbox Code Playgroud)

实例化后Ev<A>,编译器说:

meta.h:12:错误:'T :: toCPD'不是一个类型

既不是类型也不是类型的工作.

c++ type-inference c++11

12
推荐指数
1
解决办法
2万
查看次数

c ++ 0x编译,但即使使用-gnu ++ 0x发现也会出现eclipse编辑器错误

我使用一些代码来报告任务的持续时间使用std :: chrono :: high_resolution_clock ... c ++ 0x的一部分.

我可以使用-gnu ++ 0x标志在eclipse cdt中成功编译c ++ 0x特性.虽然成功编译,编辑器似乎没有意识到c ++ 0x,即它在我的代码中显示任何c ++ 0x特性的错误.我通过在项目发现选项中添加-gnu ++ 0x标志来解决这个问题.注意:在您执行另一次编译并重建索引之前,不显示已修复...

-E -P -v -dD"$ {plugin_state_location} /specs.cpp"-std = gnu ++ 0x

我仍然有一个最后一个编辑器错误,我无法摆脱"符号'duration_cast'无法解决"(我有一张照片,但新用户无法发布照片)

任何人都有任何想法如何解决这个问题?这是代码:

#ifndef _scoped_timer_h_
#define _scoped_timer_h_

#include <iostream>
#include <chrono>
#include "boost/noncopyable.hpp"
#include "boost/format.hpp"

using namespace std::chrono;

  // Utility class for timing and logging rates
// (ie "things-per-second").
// NB _any_ destructor invokation (including early return
// from a function or exception throw) will trigger an
// output which …
Run Code Online (Sandbox Code Playgroud)

c++ eclipse boost c++11

11
推荐指数
2
解决办法
5821
查看次数

使用ADT/Eclipse为NDK设置C++ 11(std :: thread)

我一直在尝试使用C++ 11.我正在开发一个Android项目,我想使用std :: mutex.与OpenCV一起但无论我做什么,我似乎无法修复Type 'mutex' could not be resolved 错误.

我试过按照我在SO和其他地方找到的教程. LINK1 LINK2 LINK3 LINK4

  1. ADT v22.3.0-887826
  2. 已安装的C/C++编译器(CDT)

经过这么多教程,它现在已成为一个真正的混乱.所以我将解释我目前的设置

  • 项目>属性> C/C++构建>工具链编辑器
    • 目前的工具链是"Cross GCC"
    • Current Builder是"Android Builder"
  • 项目>属性> C/C++构建>发现选项

    • 编译器调用命令是"gcc"
    • Compilter Invocation argments是-E -P -v -dD"$ {plugin_state_location} /specs.c-std = c ++ 11"
  • 项目> C/C++一般>路径和符号>#符号选项卡

    • 符号= __cplusplus和值= 1

在我的Application.mk文件中,我有以下内容

APP_STL := gnustl_static
APP_USE_CPP0X := true
APP_CPPFLAGS := -std=c++11 -frtti -fexceptions
APP_ABI := armeabi-v7a
APP_PLATFORM := android-8
Run Code Online (Sandbox Code Playgroud)

我试图将cplusplus符号的值更改为201103L并尝试使用空值的__GXX_EXPERIMENTAL_CXX0X

但似乎什么都没有用,我做错了什么?

任何帮助表示赞赏!

eclipse java-native-interface android android-ndk c++11

8
推荐指数
1
解决办法
9928
查看次数