有关联接错误的问题 大家进来帮忙看看

pubb1986 2007-04-11 10:34:42
导入一个LIB 然后在其他的地方调用
出现错误如下:
error LNK2001: unresolved external symbol "protected: static int CBCGPToolBar::m_bLargeIcons"

然后我查了下以前的帖子说 将 int CBCGPToolBar::m_bLargeIcons 在调用的CPP的#include前 先定义 这样是能遍通,但是想上面的这种多物有很多很多。
有没有其他的方面能解决这个问题呢?

就10分了 大家帮下忙 谢谢了
...全文
173 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
pubb1986 2007-04-11
  • 打赏
  • 举报
回复
为什么我在 VS2003下 不加也能编通并能正常使用呢?
ouyh12345 2007-04-11
  • 打赏
  • 举报
回复
在cpp文件里得
int A::a = 0;
pubb1986 2007-04-11
  • 打赏
  • 举报
回复
那例如:

我按照远程序类简化下:

class _declspec(dllexport) A
{
....
....
protected:
static int a;
}

生成DLL后

在其他类中我都没用到A类 但编译就会报
error LNK2001: unresolved external symbol "protected: static int A::a"

就想B41(MS是抢啊。。)所说的 那我应该怎么改呢? 还有个问题就是为什么要在protected 下用static呢?
wangzhangyong411 2007-04-11
  • 打赏
  • 举报
回复
有可能的,比如你#include的那个头文件里用了extern int a;

然后后来被你#include了之后就看不到原来那个定义了 只看到声明

于是就出现这个问题了

所以我们要做的就是做个定义,让头文件里的声明有效


pubb1986 2007-04-11
  • 打赏
  • 举报
回复
那样好象不大可行 要加上千个啊那。。。。

那请问下 “坏人”为什么会导致这样的问题的呢?
  • 打赏
  • 举报
回复
麻烦就麻烦了,必须一个一个都
extern 定义
pubb1986 2007-04-11
  • 打赏
  • 举报
回复
顶上问题 大家还有没有其他的办法呢?

64,650

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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