Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

GCC Discussion :

g++ arm configuration de l'include path


Sujet :

GCC

  1. #1
    Expert éminent
    g++ arm configuration de l'include path
    Bonjour à toutes et à tous,

    tentant depuis vendredi d'installer gcc pour de la cross compilation pour arm je pensais avoir les idées plus claires ce matin mais... Vous vous en doutez si je viens demander de l'aide ici c'est que je n'ai pas réussi plus que vendredi.

    J'ai installé les paquets suivants :
    - g++-arm-linux-gnuabi
    - libstdc++6-4.5-dev

    J'ai bien accès à la commande arm-g++ cependant aucun lien vers les headers...
    J'avais donc fouillé un peu pour inclure ce qu'il fallait mais je ne m'en sors pas.

    arm-g++ test.cpp -I /usr/arm-linux-gnueabi/include/c++/4.6.3/ -I /usr/arm-linux-gnueabi/include/c++/4.6.3/arm-linux-gnueabi/ -I /usr/arm-linux-gnueabi/include/c++/4.6.3/backward/
    Citation Envoyé par retour console
    In file included from /usr/arm-linux-gnueabi/include/c++/4.6.3/bits/char_traits.h:41,
    from /usr/arm-linux-gnueabi/include/c++/4.6.3/ios:41,
    from /usr/arm-linux-gnueabi/include/c++/4.6.3/ostream:40,
    from /usr/arm-linux-gnueabi/include/c++/4.6.3/iostream:40,
    from test.cpp:1:
    /usr/arm-linux-gnueabi/include/c++/4.6.3/bits/stl_algobase.h: In function '_OI std::__copy_move_a(_II, _II, _OI)':
    /usr/arm-linux-gnueabi/include/c++/4.6.3/bits/stl_algobase.h:378: error: expected primary-expression before ')' token
    /usr/arm-linux-gnueabi/include/c++/4.6.3/bits/stl_algobase.h:378: error: there are no arguments to '__is_trivial' that depend on a template parameter, so a declaration of '__is_trivial' must be available
    /usr/arm-linux-gnueabi/include/c++/4.6.3/bits/stl_algobase.h:378: error: (if you use '-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated)
    /usr/arm-linux-gnueabi/include/c++/4.6.3/bits/stl_algobase.h:383: error: '__simple' cannot appear in a constant-expression
    /usr/arm-linux-gnueabi/include/c++/4.6.3/bits/stl_algobase.h:384: error: template argument 2 is invalid
    /usr/arm-linux-gnueabi/include/c++/4.6.3/bits/stl_algobase.h: In function '_BI2 std::__copy_move_backward_a(_BI1, _BI1, _BI2)':
    /usr/arm-linux-gnueabi/include/c++/4.6.3/bits/stl_algobase.h:573: error: expected primary-expression before ')' token
    /usr/arm-linux-gnueabi/include/c++/4.6.3/bits/stl_algobase.h:573: error: there are no arguments to '__is_trivial' that depend on a template parameter, so a declaration of '__is_trivial' must be available
    /usr/arm-linux-gnueabi/include/c++/4.6.3/bits/stl_algobase.h:578: error: '__simple' cannot appear in a constant-expression
    /usr/arm-linux-gnueabi/include/c++/4.6.3/bits/stl_algobase.h:579: error: template argument 2 is invalid
    /usr/arm-linux-gnueabi/include/c++/4.6.3/bits/stl_algobase.h: In function 'typename __gnu_cxx::__enable_if<(! std::__is_scalar<_Tp>::__value), _OutputIterator>::__type std::__fill_n_a(_OutputIterator, _Size, const _Tp&)':
    /usr/arm-linux-gnueabi/include/c++/4.6.3/bits/stl_algobase.h:731: error: expected `;' before '__niter'
    /usr/arm-linux-gnueabi/include/c++/4.6.3/bits/stl_algobase.h:732: error: '__niter' was not declared in this scope
    /usr/arm-linux-gnueabi/include/c++/4.6.3/bits/stl_algobase.h: In function 'typename __gnu_cxx::__enable_if<std::__is_scalar<_Tp>::__value, _OutputIterator>::__type std::__fill_n_a(_OutputIterator, _Size, const _Tp&)':
    /usr/arm-linux-gnueabi/include/c++/4.6.3/bits/stl_algobase.h:743: error: expected `;' before '__niter'
    /usr/arm-linux-gnueabi/include/c++/4.6.3/bits/stl_algobase.h:744: error: '__niter' was not declared in this scope
    In file included from /usr/arm-linux-gnueabi/include/c++/4.6.3/ios:41,
    from /usr/arm-linux-gnueabi/include/c++/4.6.3/ostream:40,
    from /usr/arm-linux-gnueabi/include/c++/4.6.3/iostream:40,
    from test.cpp:1:
    /usr/arm-linux-gnueabi/include/c++/4.6.3/bits/char_traits.h: In static member function 'static const char* std::char_traits<char>::find(const char*, std::size_t, const char&)':
    /usr/arm-linux-gnueabi/include/c++/4.6.3/bits/char_traits.h:265: error: '__builtin_memchr' was not declared in this scope
    In file included from /usr/arm-linux-gnueabi/include/c++/4.6.3/string:43,
    from /usr/arm-linux-gnueabi/include/c++/4.6.3/bits/locale_classes.h:42,
    from /usr/arm-linux-gnueabi/include/c++/4.6.3/bits/ios_base.h:43,
    from /usr/arm-linux-gnueabi/include/c++/4.6.3/ios:43,
    from /usr/arm-linux-gnueabi/include/c++/4.6.3/ostream:40,
    from /usr/arm-linux-gnueabi/include/c++/4.6.3/iostream:40,
    from test.cpp:1:
    /usr/arm-linux-gnueabi/include/c++/4.6.3/bits/allocator.h: At global scope:
    /usr/arm-linux-gnueabi/include/c++/4.6.3/bits/allocator.h:151: error: expected primary-expression before ')' token
    /usr/arm-linux-gnueabi/include/c++/4.6.3/bits/allocator.h:151: error: there are no arguments to '__is_empty' that depend on a template parameter, so a declaration of '__is_empty' must be available
    /usr/arm-linux-gnueabi/include/c++/4.6.3/bits/allocator.h:168: error: expected primary-expression before ')' token
    /usr/arm-linux-gnueabi/include/c++/4.6.3/bits/allocator.h:168: error: there are no arguments to '__is_empty' that depend on a template parameter, so a declaration of '__is_empty' must be available
    Ce fichier test.cpp est un simple hello world incluant uniquement iostream.
    A noter que par contre arm-gcc est quand à lui correctement configuré et que je n'ai pas besoin d'inclure manuellement les paths...

    Quelqu'un aurait une idée ?

    « Toujours se souvenir que la majorité des ennuis viennent de l'espace occupé entre la chaise et l'écran de l'ordinateur. »
    « Le watchdog aboie, les tests passent »

  2. #2
    Expert éminent
    La digestion porte conseil...
    Je partage cet ordinateur, or il y a eu bon nombre d'installations et il y a une floppée de cross-compilateur...
    Donc du coup je pointais sur le mauvais binaire (qui a perdu sa configuration ou bien qui a été à moitié installé je sais pas trop) en lui donnant des librairies trop récentes pour lui.

    « Toujours se souvenir que la majorité des ennuis viennent de l'espace occupé entre la chaise et l'écran de l'ordinateur. »
    « Le watchdog aboie, les tests passent »