Type 'uint32_t' n'a pas pu être résolu

Je travaille sur un programme en C++ sous Eclipse (3.8.1) CDT. Je suis en utilisant le compilateur gcc sur Debian 8. Je suis également en utilisant une bibliothèque open source appelé opendnp3 écrit en C++, ce qui nécessite uint32_t à résoudre, car c'est un paramètre dans plusieurs appels de méthode et les constructeurs.

Dans le opendnp objets, intellisense ne marche pas liste

__uint32_t cependant, NE résout.

Le type est défini dans <cstdint> (<cstdint> résout très bien). Je peux ouvrir la déclaration et clairement voir " using ::uint32_t; dans le.

Dans mes recherches, j'ai ajouté -std=c++11 à "Toutes les options "sous" C/C++ Build --> Paramètres -> Paramètres de l'Outil -> GCC Compilateur C++ " et j'ai également reconstruit l'index du projet et le redémarrage d'Eclipse, mais il n'est toujours pas résolu.

Voici le code pour l'instant: Édités pour une simple HelloWorld projet pour aider à diagnostiquer le problème

#include <iostream>
#include <cstdint> //has uint32_t defined
using namespace std;

int main() {
    __uint32_t t = 0;  //resolves just fine
    uint32_t i = 0; //Type could not be resolved
    auto x = "123"; //C++ 11 working
    cout << "Foo!" << endl; //prints Foo!
    return 0;
}

CDT Console après une tentative d'empaquetage:

23:10:52 **** Différentiels de construction de la configuration de Débogage pour le projet FOO ****
faire tous les
faire: Rien à faire pour "all".

23:10:52 Bâtir Fini (pris 133ms)

"Je suis en utilisant le compilateur gcc sur Debian 8." Quelle version de gcc est qui? Vous pouvez vérifier avec gcc -v.
Est que cela provoque une erreur de compilation ou tout simplement l'INTERFACE utilisateur d'Eclipse est une erreur de marquage?
Essayez std::uint32_t. Il y a sans doute plus d'une xxx::uint32_t dans ce déluge de using namespace yyy;, ce qui rend le nom ambigu.
Essayez de déplacer #include <cstdint> //uint32_t à la première ligne. Comment opendnp3 se réfère à uint32_t ?
Le temps de couper vers le bas le problème. si #include <iostream> #include <cstdint> int main() { uint32_t test =0; std::cout << test << std::endl; } ne pas reproduire le problème, @BaummitAugen est sans doute vrai.

OriginalL'auteur ErikJL | 2016-05-26