首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未解析的外部符号(已阅读类似问题,但没有运气)

未解析的外部符号(已阅读类似问题,但没有运气)
EN

Stack Overflow用户
提问于 2012-01-07 21:48:46
回答 1查看 217关注 0票数 0

我正在修改SumatraPDF的源代码,我遇到了一个问题。有3个文件我需要修改:SumatraPDF.cppSumatraPDF.hSearch.cpp。我在SumatraPDF.h中添加了extern HWND testtest;,并在SumatraPDF.cpp中定义的函数CreateWindowInfo()中添加了HWND testtest = hwndFrame;。(这里的hwndFrame是某个图形用户界面窗口的hwnd,在创建图形用户界面窗口时会为其赋值。)到目前为止,它可以成功编译。现在我需要在Search.cpp中定义的函数中使用testtest,所以我用Search.cpp编写

代码语言:javascript
复制
win = FindWindowInfoByHwnd(testtest);

但现在我得到了错误

*Search.obj :错误测试:未解析的外部符号"struct HWND__ *LNK2001“(?testtest@@3PAUHWND__@@A)*

我检查了一下,我在Search.cpp中有#include "SumatraPDF.h",但是我不知道问题出在哪里。

那么为什么Search.cpp可以使用在SumatraPDF.h中定义的全局变量testtest,而SumatraPDF.cpp可以呢?

我的环境是Visual Studio 2010。

EN

回答 1

Stack Overflow用户

发布于 2012-01-07 21:52:38

您必须在函数外部定义testtest。您可以稍后分配它:

代码语言:javascript
复制
HWND testtest;


void CreateWindowInfo()
{
    testtest = hwndFrame;
    …
}

您当前正在做的是在CreateWindowInfo的作用域中创建一个新变量,隐藏全局testtest,该变量随后将被销毁。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8770143

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档