未解决的外部符号(已经阅读了类似的问题,但没有运气)
unresolved external symbol (already read similar questions, but no luck)
我正在破解苏门答腊PDF源代码,我遇到了问题。我需要修改 3 个文件: SumatraPDF.cpp
,SumatraPDF.h
和Search.cpp
。我在SumatraPDF.h
中添加extern HWND testtest;
,并在SumatraPDF.cpp
中定义的函数CreateWindowInfo()
中添加HWND testtest = hwndFrame;
。(这里 hwndFrame 是某个 GUI 窗口的 hwnd,在创建 GUI 窗口时为其分配值。到目前为止,它可以成功编译。现在我需要在 Search.cpp
中定义的函数中使用 testtest
,所以我用 Search.cpp
编写
win = FindWindowInfoByHwnd(testtest);
但是现在我得到错误
*Search.obj : 错误 LNK2001: 未解析的外部符号 "struct HWND__ * testtest" (?testtest@@3PAUHWND__@@A(*
我检查了我有#include "SumatraPDF.h"
Search.cpp
,但我无法弄清楚问题出在哪里。
那么为什么Search.cpp
可以使用全局变量testtest
,这是在SumatraPDF.h
中定义的,但SumatraPDF.cpp
可以呢?
我的环境是Visual Studio 2010。
你必须在函数之外定义testtest。您可以稍后分配它:
HWND testtest;
void CreateWindowInfo()
{
testtest = hwndFrame;
…
}
您当前正在做的是在CreateWindowInfo
阴影全局testtest
的作用域内创建一个新变量,该变量随后被销毁。
相关文章:
- 警告处理为错误这里有什么问题
- 最小硬币更换问题(自上而下方法)
- 为"adjacent"变量赋值时出现问题
- 我的神经网络不起作用 [XOR 问题]
- 在Ubuntu 16.04上安装Cilk时出现问题
- C++我的数学有什么问题,为什么我的代码不能正确循环
- 编译包含字符串的代码时遇到问题
- Project Euler问题4的错误解决方案
- 问题:什么是QAbstractItemView::NoEditTriggers的反面
- 在编译C++代码(具有dlib和opencv)到WASM时面临问题
- 在进程中对同一管道进行读取和写入时C++管道出现问题
- 静态数据成员的问题-修复链接错误会导致编译器错误
- C++ 雷神库 - 使用资源加载器类时出现问题(不命名类型)
- 一个关于在C++中重载布尔运算符的问题
- 首要问题的答案让值班员搞错了
- setlocale的C++土耳其字符串问题
- 如何重构类层次结构以避免菱形问题
- 基于boost的程序的静态链接——zlib问题
- C++格式化输出问题
- 未解决的外部符号(已经阅读了类似的问题,但没有运气)