0

我正在重组一个严重依赖外部库 ChronoEngine.lib 的以前的程序我创建了一个新项目,其中包含与前一个相同的附加包含目录、链接器等...

我在头文件中有以下代码

#ifndef DRAW
#define DRAW
#include "physics/CHsystem.h"

class draw
{
public:
   // Change size
   static void changeSize(int w, int h);

   // World definition
   static void drawSky(double halfSize, double red, double green, double blue);
   static void drawChair() ;
   static void drawCDG() ;
   static void drawPlane();

   // Geometrical definition
   static void drawSphere(ChBody* body);
   static void drawBox(ChBody* body);
};
#endif

这是与上一个项目中相同的头文件,但这里 Visual Studio 没有找到 ChBody 的定义(包含在“physics/CHsystem.h”头文件定义中 - 此文件包含physics/ChBody.h -)当我右键单击 ChBody 查找引用时,Visual Studio 找到 5 个引用(1 个是真正的定义(来自 ChBody.h),另外 4 个是库中其他文件中的前向引用)

我怎样才能告诉我的程序找到类的真正定义?显然不是链接库的问题,更像是引用的问题

我的 main.cpp 暂时只是在屏幕上打印一些东西,而 draw.cpp 是空的(我暂时还没有定义我在 draw.h 中声明的函数)

谢谢最好的文森特

4

1 回答 1

0

非常感谢实际上这是一个相当容易解决的问题

问题在于其他类(例如 ChBody)是在命名空间中定义的,因此添加

using namespace <the name of the namespace>;

在类的定义之前和#include 之后解决了这类问题。

谢谢最好的文森特

于 2013-02-06T14:18:02.580 回答