error LNK2001: unresolved external symbol "class CGPS cyGps" (?cyGps@@3VCGPS@@A)
来源:互联网 发布:mac误删除文件恢复 编辑:程序博客网 时间:2024/05/20 10:12
这两天在调试程序时,一直出现以下错误信息:
1>Control1.obj : error LNK2001: unresolved external symbol "class CCESeries * g_SerialObject" (?g_SerialObject@@3PAVCCESeries@@A)
1>Control1.obj : error LNK2001: unresolved external symbol "class CGPS cyGps" (?cyGps@@3VCGPS@@A)
1>TQ2440A_SDK (ARMV4I)\Debug/GpsSerial.dll : fatal error LNK1120: 2 unresolved externals
出现这错误的原因是在COM控件的接口函数实现Control1.cpp文件中直接定义:extern CCESeries g_SerialObject[4]; extern CGPS cyGps;本来这样定义的目的是为了在Control1.cpp中能够调用class CCESeries (在CESeries.h中定义 )和 class CGPS (在GPS.h中定义) 中的函数,结果出错了。
解决方法:在头文件CESeries.h中声明 extern CCESeries g_SerialObject[4];在Control1.cpp文件中定义
CCESeries g_SerialObject[4]。
在头文件GPS.h中声明 extern CGPS cyGps;在Control1.cpp文件中定义 CGPS cyGps。
修改:
由于 g_SerialObject[4] 和 cyGps 只在Control1.cpp被使用,因此在CESeries.h中不用添加这句 extern CCESeries g_SerialObject[4];在Control1.cpp中直接定义就可以用。同理,cyGps也是一样的,在 GPS.h中不用声明 extern CGPS cyGps。
但是当要用到的变量在多个文件中使用时,就需要在头文件中声明,例如,pGPS被Control1.cpp和GPS.cpp使用,则需要在GPS.h中声明,extern PGPSData pGps,并且在其中一个文件中定义 PGPSData pGps 。
- error LNK2001: unresolved external symbol "class CGPS cyGps" (?cyGps@@3VCGPS@@A)
- error LNK2001: unresolved external symbol
- error LNK2001: unresolved external symbol
- error LNK2001: unresolved external symbol
- error LNK2001: unresolved external symbol
- error LNK2001: unresolved external symbol
- error LNK2001: unresolved external symbol
- error LNK2001: unresolved external symbol
- error LNK2001: unresolved external symbol
- error LNK2001: unresolved external symbol
- error LNK2001: unresolved external symbol
- error LNK2001: unresolved external symbol
- error LNK2001: unresolved external symbol
- error LNK2001: unresolved external symbol
- error LNK2001: unresolved external symbol
- error LNK2001: unresolved external symbol
- error LNK2001: unresolved external symbol
- error LNK2001: unresolved external symbol
- JBPM4 No unnamed transitions were found for the task 'XXXX'. 异常
- [Java] 用eclipse生成javadoc的时候发生“编码 GBK 的不可映射字符 ”
- Java中利用HttpURLConnection发送post和get请求
- XCode内部编译错
- SSL漏洞及其利用工具(SSL会话劫持)
- error LNK2001: unresolved external symbol "class CGPS cyGps" (?cyGps@@3VCGPS@@A)
- iPhone 对话框与输入框的响应简单界面教程
- 代码疑云(2)-c函数调用约定
- JS实现AJAX提交数据到后台,实现验证用户名是否存在功能详解
- Vector在JAVA中的详细说明
- SQL Server中按照时间进行分组统计
- Delete a WorkSpace from Project Server
- Flex中的set啊Flex中的set
- IDA识别程序中密码算法插件 FindCrypt2