LNK2001:unresolved external symbol "struct Distance Distance_struct"(?Distance_struct@@3UDistance@@A

参考地址:http://blog.csdn.net/henry_sea/article/details/6185454

参考原文:

, luther baker <lutherbaker@...> wrote:

> I am walking through this tutorial in visual studio 2008

> http://www.codeproject.com/KB/wtl/wtl4mfc2.aspx


> I am about half way down and per the tutorial, I have implemented

stdafx.h, main.cpp and MyWindow.h. When I try to build this for the

first time, I am receiving:

> error LNK2001: unresolved external symbol "class WTL::CAppModule

_Module" (?_Module@@3VCAppModule@WTL@@A)

>C:/home/lbaker/dev/vstudio/real-estate-czar/vs2008/Debug/real-

estate-czar.exe : fatal error LNK1120: 1 unresolved externals

> I most definitely have this line in my stdafx.h file:

> extern CAppModule _Module;

> But I'm not sure where this gets resolved and I'm having trouble

drilling down to find it.

> Does anyone have some suggestions?

Thanks,

> -Luther

Defining an "extern" will only make the variable visible across the

source files. You still have to define "CAppModule _Module;"

somewhere in your source code .cpp file. If you are working on

Project.exe, Project.cpp would be a perfect place to define it.

Best regards,

He Shiming



附:http://www.cnblogs.com/luliang/archive/2008/08/21/1272746.html(extern的用法链接)

      http://www.cppblog.com/Macaulish/archive/2008/06/17/53689.html(extern"C"的深入分析)

      http://www.cnblogs.com/skynet/archive/2010/07/10/1774964.html(C++项目中的extern "C" {})


文章不难,相信大家都能看的懂


我是用Qt Creator 编写时遇到的该问题,本人菜鸟,所以还是费了点周折的,想法是将一个结构体全局化,在不同的地方可以调用

于是在头文件struct_values.h中定义:

struct Distance
{
     int ID;
};
extern struct Distance Distance_struct;

这样就可以在其他地方用了,但是根据上文可以看出在需要引用的.cpp文件中需要声明

在mainWindow.cpp的开始声明:

Distance Distance_struct;

是开始部分,也就是和#include一块的地方

这样在该文件的所有地方都可以使用了:

void func1()
{
    Distance_struct.ID=1;
    ui->textBrowser->append(QString::Number(Distance_struct.ID));
}
void func2()
{
    Distance_struct.ID=2;
    ui->textBrowser->append(QString::Number(Distance_struct.ID));
}


O了,可以进行下一步了,去吃饭大笑



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值