Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/150.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ ColorF:什么标题或库定义了ColorF?_C++_Panda3d - Fatal编程技术网

C++ ColorF:什么标题或库定义了ColorF?

C++ ColorF:什么标题或库定义了ColorF?,c++,panda3d,C++,Panda3d,我正在尝试为版本1.8构建太阳系(C++)Panda3D示例。我遇到的问题是,当我编译它时,我得到一个错误: clr; g++ -c ./solar_system/tut_solar_system.cpp -o ss.o -fPIC -L/usr/lib/panda3d -I/usr/include/python2.7 -I/usr/include/panda3d ./solar_system/../p3util/cOnscreenText.h:75:22: error: ‘Colorf’ do

我正在尝试为版本1.8构建太阳系(C++)Panda3D示例。我遇到的问题是,当我编译它时,我得到一个错误:

clr; g++ -c ./solar_system/tut_solar_system.cpp -o ss.o -fPIC -L/usr/lib/panda3d -I/usr/include/python2.7 -I/usr/include/panda3d
./solar_system/../p3util/cOnscreenText.h:75:22: error: ‘Colorf’ does not name a type
我尝试过编辑该文件,包括glew、glext和glut(由我的发行版提供),以及Panda3D提供的“panda_glext”——它们都不提供ColorF。(我使用的是archlinux,我有glew、glext和freeglut。)


我不知道从哪里开始找。谷歌让我失望了!有人知道ColorF是在哪里定义的吗?

它被称为LColorf,它是LVecBase4f的类型定义,LVecBase4f是四分量浮点值(如向量和颜色)的通用Panda3D类。“f”代表“浮动”;还有一个可用的LCO类型定义

这是Panda3D 1.8.0的一个变化。在1.8.0之前,它被称为Colorf(不带前导L)。您下载的示例程序大概是为早期版本设计的。您可以将相关示例程序更改为使用LColorf,也可以选择在包含这些标题之前添加以下内容:

#if PANDA_NUMERIC_VERSION >= 1008000
#define Colorf LColorf
#endif
(或者,如果您喜欢,也可以使用typedef。)


对于记录,使LColorf符号可用的适当头文件是
luse.h
。您不应该包括
panda\u glext.h
,它仅由OpenGL渲染器使用。

它是
ColorF
还是
ColorF
?它也可能是一个值,并在编译器需要类型的地方使用。如果您可以在错误发生的地方显示一些代码行,则更容易判断。有关标记的指南,请参阅。我错了:它是Colorf<代码>无效集(常量颜色F&fg);无效集(常量颜色和背景);空集_阴影(const Colorf&shadow);无效集\u阴影\u偏移量(常数LVecBase2f和偏移量);空集(帧)(const Colorf&frame);非常感谢!我很困惑,因为我在研究文档时遇到了LVecBase4f,但我没有意识到我的项目跨越了版本。它建成了!