定义变量时,有一个奇怪的报错!无语。请高手指教!解决思路

定义变量时,有一个奇怪的报错!无语。。。。请高手指教!
听我慢慢道来:
从前有个rti.h文件里面定义了一个这个变量:
namespace RTI
{
typedef ::IceInternal::ProxyHandle<::IceProxy::IRTI13::RtiAmb> RtiAmbPrx;
}
然后,有一个叫Global.h的文件,里面要定义一个这样的变量,于是:
#include "rti.h"
using namespace RTI;
RtiAmbPrx _serverfm;//我定义了变量
交给编译器审核的时候,不分青红皂白就给了个:
error C2146: 语法错误 : 缺少“;”(在标识符“_serverfm”的前面)
error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int


冤啊!!!

请大家帮忙,看看是怎么回事!!非常感谢!

------解决方案--------------------
rti.h里的:

namespace RTI
{
typedef ::IceInternal::ProxyHandle<::IceProxy::IRTI13::RtiAmb> RtiAmbPrx;
}

之前是否可见IceInternal类的定义,见不到是不行的。
------解决方案--------------------
typedef ::IceInternal::ProxyHandle<::IceProxy::IRTI13::RtiAmb> RtiAmbPrx;前面的域引用符是不是可以去掉?
------解决方案--------------------
全局变量的定义一般放在.cpp里,.h文件加extern声明。

.h文件
extern RtiAmbPrx _serverfm;
.cpp文件:
RtiAmbPrx _serverfm;