请问一个关于dll中类的静态成员变量的有关问题

请教一个关于dll中类的静态成员变量的问题.
比如这么一个dll:
在头文件中:
class   __declspec(dllexport)   Test
{
public:
        static   const   float   x;
}

在cpp文件中:
const   float   Test::x   =   1.0f;

这样写dll是编译成功了的.但我另外一个exe调用的时候缺出了问题:
#include   "test.h "
#include   <iostream>
#pragma   comment(lib,   "test.lib ")

using   namespace   std;

int   main()
{
        cout   < <   Test::x;
        return   0;

}

却老是报告连接错误.
我想是不是因为静态成员是作为常量像内联函数一样要内嵌到exe当中.但是我把实现放到头文件中又会提示我说重复定义.
怎么办?

------解决方案--------------------
静态成员需要单独导出
__declspec(dllexport) const float Test::x = 1.0f;
------解决方案--------------------
错误原因是没有export。不过好像静态成员没法export...会报2720错
------解决方案--------------------
搞了几下都不对。
照说应该是头文件中extern一下。
不过你为什么要export一个static的成员变量呢?失去了封装的意义...
如果一定要export,搞成全局的就行了呀!