MFC调用外部dll时,出现无法解析的外部符号的解决方法)
最近在一个MFC工程文件中调用了多个dll和lib文件,包括matlab和can连接文件,时常出现“无法解析的外部符号”的错误,特此记录解决方法。
通常出现这个问题的原因有以下几个:
1.没有导入相应的lib库文件。
2.类成员声明了,但是却没有定义。也可能是定义的与声明的不一致。
3.没有包含响应的头文件和源文件。
4.没有在项目属性页的链接器的命令行选项加入相应的类包。
5.没有在c++包含目录和库目录加入相应的类包路径。
6.dll的版本与平台不兼容,64位和32位的差别。
通常对于第三方的SDK一般只提供给我们DLL,并提供相应的头文件及LIB文件;这里的LIB文件是链接时需要的,它包含了DLL中函数的想关信息,不是静态编译产生的静态库,因此我们只需要在项目添加对这些LIB的依赖。
一般情况下按照项目--》属性--》配置属性--》链接器-》输入--》附加依赖项
的方式在其中加入所需库文件,注意把库文件写进去,每个库文件后加分号,同时在
“链接器--》常规--》附加库目录”中填入相应库所在目录。
为了保险可以在
VC++目录--》常规--》包含目录和VC++目录--》常规--》库目录中中填入相应库所在目录。
然后在工程文件中加入头文件#include "ControlCAN.h"
以及
#pragma comment(lib,"ControlCAN.lib")
如果完成这些操作之后还是存在无法解析的外部符号的问题,应该是版本与平台不兼容。将当前平台(win32/x64)替换成(x64/win32)再进行编译,一般就可以通过了。
需要再新的平台重新设置上述操作,并将目标计算机改为当前平台。
MFC调用外部dll时,出现无法解析的外部符号的解决方法)的更多相关文章
- gSoap的“error LNK2001: 无法解析的外部符号 _namespaces”解决方法
错误 2 error LNK2001: 无法解析的外部符号 _namespaces 解决方法: 1. 在工程中定义 WITH_NONAMESPACES 宏 2.尝试 "#include &q ...
- gSoap的 “error LNK2001: 无法解析的外部符号 _namespaces”解决方法
gSoap是C/C++开发webService服务第三方的公开类库. 出现上述错误是因为缺少必要的头文件导致的. 在用wsdl2h生成头文件的时候,一并生成了类似 xx.nsmap 的文件,这个文件实 ...
- C# 调用外部dll(转)
C# 调用外部dll 一. DLL与应用程序 动态链接库(也称为DLL,即为"Dynamic Link Library"的缩写)是Microsoft Windows最 ...
- How to:如何在调用外部文件时调试文件路径(常见于使用LaunchAppAndWait和LaunchApp函数)
原文:How to:如何在调用外部文件时调试文件路径(常见于使用LaunchAppAndWait和LaunchApp函数) IS里调用外部文件的时候,一般都是用LaunchAppAndWait函数,比 ...
- Qt5 error LNK2019 无法解析的外部符号的解决办法
今天在使用Qt Create 4.5.2时遇到一个莫名其妙的问题: 在原有工程里添加一个新类(有界面的),在调用的mainwindow.cpp中添加#include "a.h",然 ...
- vmware tools安装程序无法继续,Microsoft Runtime DLL安装程序未能完成安装。的解决方法
vmware tools安装程序无法继续,Microsoft Runtime DLL安装程序未能完成安装.的解决方法_华英雄_新浪博客 http://blog.sina.com.cn/s/blog_5 ...
- session_start()导致history.go(-1)返回时无法保存表单数据的解决方法
问题背景: 在填写完表单提交时,由于某个表单项可能填写的不合法,导致提交失败,返回表单页面.但返回后所有的表单都被清空了,重新填写比较麻烦,度娘解释说,是由于每个页面都调用了session_start ...
- iphone 浏览器自动解析数字为号码解决方法
iphone 浏览器自动解析数字为号码解决方法 www.MyException.Cn 网友分享于:2015-10-09 浏览:0次 iphone 浏览器自动解析数字为号码解决办法 在工作中遇到 ...
- dll被设置为用记事本打开的解决方法
dll被设置为用记事本打开的解决方法: 打开注册表编辑器 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Fi ...
- vue项目初始化时npm run dev报错webpack-dev-server解决方法
vue项目初始化时npm run dev报错webpack-dev-server解决方法 原因:这是新版webpack存在的BUG,卸载现有的新版本webpack,装老版本就好webpack-dev- ...
随机推荐
- 阿里云centos7搭建docker,拉取镜像外网访问不通的问题排查
最近新买了一个阿里云服务器,用docker安装了mysql,外网死活连接不上我的mysql,最终经过一顿猛百度查问题,找出问题根源.对这次查问题过程中出现的问题也有一些心得,也小小记录一下复盘总结. ...
- linux安装oracle客户端
下载客户端软件 客户端下载地址 链接:https://pan.baidu.com/s/1StXjSjQ_6wRuwj4tewRlaA 提取码:8ynu sqlldr工具 链接:https://pan. ...
- es实现规格动态域生成
1.就是把sepc的可以提取出来作为一个域(sepc是一个规格参数) 封装搜索条件(跟jdbc流程一样) @requestparam( required = false) 的作用? 不传值后台也不 ...
- Jmeter学习:时间类函数
一.__time 功能介绍:按指定格式生成当前时间 ${__time(参数 1,参数 2)} 参数 1:时间格式 参数 2:注册变量名称 二.__timeShift 功能介绍:按格式生成时间格式,并计 ...
- vue 3 引入 scss
安装必要的依赖: 调用: 效果:
- Java把List转成以逗号分隔的字符串
private static <T> String parseListToStr(List<T> list){ String result = list.stream().ma ...
- 成品直播源码推荐,java 实现邮件服务
成品直播源码推荐,java 实现邮件服务 1. 引入maven 依赖 <!--邮件服务--><dependency> <groupId>org.springf ...
- 《Makefile中DEP_LIBRARIES变量的作用》
1.例子 DEP_LIBRARIES := lib@InfoSDK_api lib@WMTMedia lib@WMTUtil lib@curl 该变量是Makefile里面内置的变量,作用是指定依赖的 ...
- 调度器42—进程exit退出流程
基于Linux-5.10 一.do_exit()简要流程 1. 执行路径 各驱动和内核机制中直接调用 SYSCALL_DEFINE1(exit, int, error_code) //exit.c 将 ...
- eval对函数this指向的影响
js eval() 对 this 指向的影响 const fn = () => { console.log('fn this is:', this) } function evalWrapper ...