link error 大家来帮忙看看! error LNK2001

blackpool 2007-06-30 04:37:12
PerfDocUT_PerfDocTest.obj : error LNK2001: unresolved external symbol "public: static class CppUnit::Listener * CppUnit::Listener::docInstance" (?docInstance@List
ener@CppUnit@@2PAV12@A)

\PerfUT\bin/PerfDocUT.exe : fatal error LNK1120: 1 unresolved externals

怎么解决? 大家有遇到这种错误的吗?

找到源代码,发现是这一行有错:

class Listener : public CPPUNIT_NS::TestListener, public TestResultCollectorEx
{

......

public:
CPPUNIT_API static Listener * docInstance; //这一行有错!

......

};
...全文
319 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
needallcodes 2007-06-30
  • 打赏
  • 举报
回复
如果没有声明,就会提示你那个错,
如果cpp开头带了static,也会提示出错, 忘记是啥错了,好像不是link error
needallcodes 2007-06-30
  • 打赏
  • 举报
回复
static 声明的变量要在使用它的cpp里初始化/声明一下, 初始化的时候不要带 static
在用到它的cpp开头这样:
CppUnit::Listener *CppUnit::Listener::docInstance;


fire_woods 2007-06-30
  • 打赏
  • 举报
回复
首先,类里面好像是不能使用static的成员变量的,所以static要去掉.
docInstance在什么地方被使用?
blackpool 2007-06-30
  • 打赏
  • 举报
回复
fire_woods(风林火山)大哥:

按你说的试了一下,但是又出现另外一个错误:

error C2071: 'docInstance' : illegal storage class

可能不行,有没有高人知道这个链接错误是什么时候会出现的?是因为CPPUNIT_API static Listener * docInstance; 这里的static吗?

谢谢啦!!!!!!!!!!!


venuschenxi() 不明白你的意思,对不起
venuschenxi 2007-06-30
  • 打赏
  • 举报
回复
不是很行问一下
提示错误里
unresolved external symbol
"public: static class CppUnit::Listener * CppUnit::Listener::docInstance"
这一句
无法分辨的外部符号.
是不是不在你编译的文件里而是另外一个文件里.
fire_woods 2007-06-30
  • 打赏
  • 举报
回复
CPPUNIT_API static Listener * docInstance; //这一行有错!

改成
CPPUNIT_API Listener * docInstance; //这一行有错!
blackpool 2007-06-30
  • 打赏
  • 举报
回复
周末没有人学习吗 郁闷 给点意见吧 急啊!!!
跪求高人解答
!!!!!!!!!!!!!!

70,037

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧