ฉันกำลังโอนรหัสจาก Linux C ไปยัง Visual C ++ สำหรับ Windows
Visual C ++ ไม่ทราบ#include <stdint.h>
ดังนั้นฉันจึงแสดงความคิดเห็นออกไป
ต่อมาฉันพบ'uint32_t': identifier not found
ข้อผิดพลาดเหล่านั้นมากมาย จะแก้ไขได้อย่างไร?
ฉันกำลังโอนรหัสจาก Linux C ไปยัง Visual C ++ สำหรับ Windows
Visual C ++ ไม่ทราบ#include <stdint.h>
ดังนั้นฉันจึงแสดงความคิดเห็นออกไป
ต่อมาฉันพบ'uint32_t': identifier not found
ข้อผิดพลาดเหล่านั้นมากมาย จะแก้ไขได้อย่างไร?
uint32_t
และประเภทจำนวนเต็มแน่นอนความกว้างอื่น ๆ เป็นเพียงส่วนหนึ่งของ C99 และ C ++ 0x คอมไพเลอร์เพื่อให้เก่า (เช่น Visual C ++ 2008 และก่อนหน้านี้) ไม่ได้พวกเขา
คำตอบ:
ประเภทนี้กำหนดไว้ในส่วนหัว C <stdint.h>
ซึ่งเป็นส่วนหนึ่งของมาตรฐาน C ++ 11 แต่ไม่ใช่มาตรฐานใน C ++ 03 ตามหน้า Wikipedia ในส่วนหัวยังไม่ได้จัดส่งพร้อม Visual Studio จนถึง VS2010
ในระหว่างนี้คุณอาจปลอมส่วนหัวเวอร์ชันของคุณเองโดยการเพิ่มtypedef
s ที่จับคู่ประเภทจำนวนเต็มที่กำหนดเองของ Microsoftกับประเภทที่ C คาดไว้ตัวอย่างเช่น:
typedef __int32 int32_t;
typedef unsigned __int32 uint32_t;
/* ... etc. ... */
หวังว่านี่จะช่วยได้!
__int32
.
u_int32_t
และuint32_t
ไม่ใช่ประเภทเดียวกัน หนึ่งมีขีดล่างพิเศษหลังu
. ดูเหมือนว่าเป็นปัญหาที่แยกจากกัน
#include <cstdint>
คุณสามารถ เป็นส่วนหนึ่งของ C ++ - มาตรฐานตั้งแต่ปี 2554
ฉันมีข้อผิดพลาดเดียวกันและได้รับการแก้ไขรวมทั้งในไฟล์ต่อไปนี้
#include <stdint.h>
ที่จุดเริ่มต้นของไฟล์ของคุณ
การส่งเสริม Configนำเสนอ typedefs เหล่านี้สำหรับชุดเครื่องมือที่ไม่ได้จัดเตรียมไว้ในตัว เอกสารสำหรับฟังก์ชันเฉพาะนี้อยู่ที่นี่: Standard Integer types
มีการนำไปใช้งานที่หน้าโครงการ msinttypes - "โครงการนี้เติมส่วนที่ไม่มี stdint.h และ inttypes.h ใน Microsoft Visual Studio"
ฉันไม่มีประสบการณ์เกี่ยวกับการใช้งานนี้ แต่ฉันเห็นว่าแนะนำโดยผู้อื่นใน SO
ใน Windows ฉันมักจะใช้ประเภท windows <Windows.h>
ที่จะใช้มันคุณจะต้องรวมถึง
ในกรณีนี้ uint32_t คือ UINT32 หรือแค่ UINT
คำจำกัดความทุกประเภทอยู่ที่นี่: http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751%28v=vs.85%29.aspx
ฉันต้องรันโปรเจ็กต์ใน VS2010 และไม่สามารถแนะนำการแก้ไขใด ๆ ในโค้ดได้ วิธีแก้ปัญหาของฉันคือการติดตั้ง vS2013 และใน VS2010 point VC ++ Directories-> IncludeDirectories to Program Files (x86) \ Microsoft Visual Studio 12.0 \ VC \ include จากนั้นโครงการของฉันก็รวบรวมโดยไม่มีปัญหาใด ๆ