Linux build doesn't like reference to cstdint...



  • ...as an include file. A line like this:

    @#include <cstdint>
    @

    Returns an error about needing a particular compiler flag, but:

    @#include <stdint.h>
    @

    does just fine. Can someone explain why this is?

    Thank you.



  • Which error and what compiler flag?



  • if you google a bit about cstdint, you find "this on stackoverflow":http://stackoverflow.com/questions/3137336/difference-between-cstdint-and-tr1-cstdint .
    cstdint was not part of C99. It comes with tr1 of STL and goes to C++0x:

    bq. <tr1/cstdint> is defined, as name suggests, in TR1, while <cstdint> is defined in c++0x.

    bq. Since this stuff isn't standard yet I guess it's compiler specific so I'm talking about gcc. To compile with the non-tr1 one I must compile with -std=c++0x, but there is no such restriction when using tr1.



  • Gerolf: thanks for the answer. I never knew what tr1 was until I searched on it just now. Interesting stuff.

    Lukas: as you can probably guess from Gerolf's response, the error was about using some non-standard include file without the flag that enables C++0x. (I'm not booted in ubuntu right now, or I could be more specific.)

    Would I be mostly correct in assuming that this is really no big deal to me, and I can just use the tr1/ versions without repercussion?


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.