djf*_*oud 3 c++ linker unresolved-external extern visual-studio
我的问题在于以下背景:
file1.h
#include "graphwnd.h"
#include "file2.h"
class XXX:
{
....various things....
protected:
CGraphWnd graph_wnd_sensor1D;
}
Run Code Online (Sandbox Code Playgroud)
file1.cpp
#include "file1.h"
(... various stuff ...)
void main(){
OnInitGraph(&graph_wnd_1_sensor2D, rect_1_sensor2D);
graph_wnd_sensor1D.ShowWindow(SW_HIDE);
myYYY.Init();
}
(... various stuff ...)
Run Code Online (Sandbox Code Playgroud)
这里graph_wnd_sensor1D有一个值,ShowWindow有效
档案2.h
extern CGraphWnd graph_wnd_sensor1D;
class YYY:
{
void YYY::Init(){
graph_wnd_sensor1D.ShowWindow(SW_SHOW);
}
....various things....
}
Run Code Online (Sandbox Code Playgroud)
这里,在init中,应用程序崩溃,因为graph_wnd_sensor1D与前一个信息的信息不同.
在文件2.cpp中我想使用graph_wnd_sensor1D.但视觉效率
CMyTabCtrl.obj : error LNK2001: external symbol unresolved "class CGraphWnd graph_wnd_sensor1D"
Run Code Online (Sandbox Code Playgroud)
您只声明了,但没有定义变量.在单个实现文件中添加定义.
档案2.h
extern CGraphWnd graph_wnd_sensor1D; // declarations
Run Code Online (Sandbox Code Playgroud)
文件2.cpp
CGraphWnd graph_wnd_sensor1D; // definition
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4438 次 |
| 最近记录: |