Saya mem-porting kode dari Linux C ke Visual C ++ untuk windows.
Visual C ++ tidak tahu #include <stdint.h>
jadi saya berkomentar.
Belakangan, saya menemukan banyak 'uint32_t': identifier not found
kesalahan itu. Bagaimana cara mengatasinya?
c++
c
visual-c++
kevin
sumber
sumber
uint32_t
dan tipe integer tepat-lebar lainnya hanya bagian dari C99 dan C ++ 0x, kompiler jadi lebih tua (seperti Visual C ++ 2008 dan sebelumnya) tidak memiliki mereka.Jawaban:
Jenis ini didefinisikan di header C
<stdint.h>
yang merupakan bagian dari standar C ++ 11 tetapi bukan standar di C ++ 03. Menurut halaman Wikipedia di header , itu belum dikirimkan dengan Visual Studio hingga VS2010.Sementara itu, Anda mungkin dapat memalsukan versi tajuk Anda sendiri dengan menambahkan
typedef
s yang memetakan jenis bilangan bulat khusus Microsoft ke jenis yang diharapkan oleh C. Misalnya:typedef __int32 int32_t; typedef unsigned __int32 uint32_t; /* ... etc. ... */
Semoga ini membantu!
sumber
__int32
.u_int32_t
danuint32_t
bukan tipe yang sama; satu memiliki garis bawah ekstra setelahu
. Sepertinya itu masalah yang terpisah.Anda bisa
#include <cstdint>
. Ini bagian dari C ++ - standar sejak 2011.sumber
Saya memiliki kesalahan yang sama dan memperbaikinya termasuk dalam file berikut
#include <stdint.h>
di awal file Anda.
sumber
Boost . Config menawarkan typedef ini untuk kumpulan alat yang tidak menyediakannya secara asli. Dokumentasi untuk fungsionalitas khusus ini ada di sini: Jenis Integer Standar
sumber
Ada implementasi yang tersedia di halaman proyek msinttypes - "Proyek ini mengisi ketiadaan stdint.h dan inttypes.h di Microsoft Visual Studio".
Saya tidak memiliki pengalaman dengan implementasi ini, tetapi saya telah melihatnya direkomendasikan oleh orang lain di SO.
sumber
Di Windows saya biasanya menggunakan tipe windows. Untuk menggunakannya, Anda harus menyertakan
<Windows.h>
.Dalam hal ini uint32_t adalah UINT32 atau hanya UINT.
Semua definisi jenis ada di sini: http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751%28v=vs.85%29.aspx
sumber
Saya harus menjalankan proyek di VS2010 dan saya tidak dapat memperkenalkan modifikasi apa pun dalam kode. Solusi saya adalah menginstal vS2013 dan di VS2010 titik VC ++ Directories-> IncludeDirectories to Program Files (x86) \ Microsoft Visual Studio 12.0 \ VC \ include. Kemudian proyek saya disusun tanpa masalah apa pun.
sumber