c++ - guia - C99 stdint.h cabecera y MS Visual Studio
qgis manual (7)
Actualización: Visual Studio 2010 y Visual C ++ 2010 Express ambos tienen stdint.h
. Se puede encontrar en C:/Program Files/Microsoft Visual Studio 10.0/VC/include
Para mi sorpresa, descubrí que el C99 stdint.h no se encuentra en MS Visual Studio 2003. Estoy seguro de que tienen sus razones, pero ¿alguien sabe dónde puedo descargar una copia? Sin este encabezado no tengo definiciones para tipos útiles como uint32_t, etc.
Boost contiene el archivo de encabezado cstdint.hpp con los tipos que está buscando: http://www.boost.org/doc/libs/1_36_0/boost/cstdint.hpp
Microsoft no es compatible con C99 y no ha anunciado ningún plan para hacerlo. Creo que pretenden rastrear los estándares de C ++, pero consideran que C es efectivamente obsoleto, excepto como un subconjunto de C ++.
Los nuevos proyectos en Visual Studio 2003 y posteriores tienen la opción "Compilar como código C ++ (/ TP)" establecida de forma predeterminada, por lo que cualquier archivo .c se compilará como C ++.
Otra solución portátil:
POSH: el arnés portátil de código abierto
"POSH es un arnés simple, portátil, fácil de usar, fácil de integrar, flexible, de código abierto, diseñado para hacer que la escritura de bibliotecas y aplicaciones multiplataforma sea mucho menos tediosa de crear y realizar en puerto".
http://poshlib.hookatooka.com/poshlib/trac.cgi
como se describe y usa en el libro: Escribir código portátil: una introducción al desarrollo de software para plataformas múltiples Por Brian Hook http://books.google.ca/books?id=4VOKcEAPPO0C
-Jason
Resulta que puede descargar una versión MS de este encabezado desde:
https://github.com/mattn/gntp-send/blob/master/include/msinttypes/stdint.h
Un portátil se puede encontrar aquí:
http://www.azillionmonkeys.com/qed/pstdint.h
Gracias al blog de Software Rambling .
Simplemente defínalos tú mismo.
#ifdef _MSC_VER
typedef __int32 int32_t;
typedef unsigned __int32 uint32_t;
typedef __int64 int64_t;
typedef unsigned __int64 uint64_t;
#else
#include <stdint.h>
#endif
Visual Studio 2003 - 2008 (Visual C ++ 7.1 - 9) no pretende ser compatible con C99. (Gracias a rdentato por su comentario).