Fehler: ‘uint16_t’ nicht deklariert?

Lesezeit: 2 Minuten

Ich habe den Code

#include <emmintrin.h>
#include <stdio.h>

void print128_num(__m128i var)
{
    uint16_t *val = (uint16_t*) &var;
    printf("Numerical: %i %i %i %i %i %i %i %i \n",
           val[0], val[1], val[2], val[3], val[4], val[5],
           val[6], val[7]);
}
int main(void)
{
    __m128i a = _mm_set_epi32(4, 3, 2, 1);
    __m128i b = _mm_set_epi32(7, 6, 5, 4);
    __m128i c = _mm_add_epi32(a, b);

    print128_num(c);

    return 0;
}

und ich bekomme einen Fehler wo uint16_t ist nicht deklariert. Ich verwende GCC mit MINGW.

Heres der komplette Fehler.

||In function 'print128_num':|
|6|error: 'uint16_t' undeclared (first use in this function)|
|6|error: (Each undeclared identifier is reported only once|
|6|error: for each function it appears in.)|
|6|error: 'val' undeclared (first use in this function)|
|6|error: expected expression before ')' token|

Sie müssen einschließen stdint.h oder inttypes.h bekommen uint16_t.

  • Ich benutze C nicht viel, also ist es für mich neu.

    – pandoragami

    2. Juli 2013 um 22:06 Uhr

  • Muss jemand sein, der MSVC ohne Zugriff auf die Header verwendet (da sie in C99 hinzugefügt wurden und MSVC nur C89 unterstützt), oder so etwas.

    – Jonathan Leffler

    2. Juli 2013 um 22:46 Uhr


  • Verrückte. Die Frage ist sowohl mit GCC gekennzeichnet als auch mit “I’m using GCC” im Textkörper.

    – Karl Norum

    2. Juli 2013 um 22:48 Uhr

  • Ja ich weiß. Ich habe auch keine Ahnung, warum die Ablehnung. Ich habe versucht, die Antwort darauf mit Google zu finden, und alles, was ich bekam, waren eine Reihe von Linux-bezogenen Threads, in denen die Leute aufgefordert wurden, sudo zu verwenden, um die zentralen Linux-Dienstprogramme zu installieren. Irgendjemand wollte den Thread auch schließen. Es ist das einzige, das so ist.

    – pandoragami

    2. Juli 2013 um 22:53 Uhr

  • Ich bin auf dasselbe Problem gestoßen. Ein anderer Entwickler verwendete Visual Studio und ich verwende mingw. Sein letzter Push konnte nicht kompiliert werden. Das war der Grund. Hinzufügen #include stdint.h behoben.

    – Metrisches Crapton

    27. April 2020 um 16:53 Uhr

1381420cookie-checkFehler: ‘uint16_t’ nicht deklariert?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy