我有以下结构来管理相机状态
struct keyState
{
float x_rotation, y_rotation, z_rotation;
float x_rotation_rad, y_rotation_rad, z_rotation_rad;
float x_pos, y_pos, z_pos;
} state_manager;
Run Code Online (Sandbox Code Playgroud)
该结构位于我的WalkingCameraManipulator.h类中。WalkingCameraManipulator在WalkingCameraManipulator.cpp中实现,我的主类中有一个#include“ WalkingCameraManipulator”。
错误1错误LNK2005:在main.obj中已经定义了“ struct keyState state_manager”(?state_manager @@ 3UkeyState @@ A)错误2错误LNK1169:找到一个或多个乘法定义的符号
但是,我正在处理以下错误消息,需要找到适合我的结构的最佳位置。关于我在这里可以做什么的任何想法?提前致谢。
尾部state_manager定义一个实例。在标题中。哪有错 我建议您将代码重构为:
struct keyState
{
float x_rotation, y_rotation, z_rotation;
float x_rotation_rad, y_rotation_rad, z_rotation_rad;
float x_pos, y_pos, z_pos;
} ;
extern keyState state_manager;
//somecppfile.cpp
keyState state_manager;
Run Code Online (Sandbox Code Playgroud)
该extern部分是一个声明,并且定义现在在单个实现文件中。这模仿了您的预期行为,但可能不是您真正想要的。您是否真的想要的全球实例keyState?如果不是,则将其全部删除:
struct keyState
{
float x_rotation, y_rotation, z_rotation;
float x_rotation_rad, y_rotation_rad, z_rotation_rad;
float x_pos, y_pos, z_pos;
} ;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1094 次 |
| 最近记录: |