当我使用Apportable作为我的C ++源代码时,它找不到stdint.h
中定义的符号。
error: use of undeclared identifier 'UINT8_MAX'
代码与Xcode配合得很好,而这个错误只在Apportable上引发。我添加了#include <cstdint>
,但没有效果。
这是我当前的.cpp
文件。
#include <cstdint>
#include "Pixel.h"
namespace
Eonil
{
namespace
Graphics
{
using namespace std;
Pixel::Pixel(glm::vec4 const vector)
{
r = vector.r * ((Scalar)UINT8_MAX);
g = vector.g * ((Scalar)UINT8_MAX);
b = vector.b * ((Scalar)UINT8_MAX);
a = vector.a * ((Scalar)UINT8_MAX);
}
glm::vec4 const
Pixel::vector() const
{
return glm::vec4(((Scalar)r) / ((Scalar)UINT8_MAX),
((Scalar)g) / ((Scalar)UINT8_MAX),
((Scalar)b) / ((Scalar)UINT8_MAX),
((Scalar)a) / ((Scalar)UINT8_MAX));
}
}
}
我错过了什么?
答案 0 :(得分:4)
定义__STDC_LIMIT_MACROS时,宏可用(另外__STDC_CONSTANT_MACROS似乎也丢失了)。编译c ++时,这可能是错误的门控或丢失。 Objective-C和C为UINT8_MAX和附带的宏提供了这些定义。现在,您可以全局定义这两个宏,它应该对您的项目没有任何不良影响。