2 rygzptl rygzptl 于 2017.01.13 09:09 提问

关于MFC调用DLL问题,平时使用DLL没有碰过的问题,请大神看看!项目源代码全部上传!

调用位置:
adpHandle *comChannel;
SetupAppwithFirstFreeAdapter(comChannel->commandpipeName, comChannel->dataPipeName, comChannel->priorityPipeName, comChannel->deviceName, "commmgr.exe", BUF256, BACKGROUND);

错误如下:
1>APPDlg.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) int cdecl SetupAppwithFirstFreeAdapter(char *,char *,char *,char *,char *,int,int)" (imp_?SetupAppwithFirstFreeAdapter@@YAHPAD0000HH@Z),该符号在函数 "protected: virtual int __thiscall CAPPDlg::OnInitDialog(void)" (?OnInitDialog@CAPPDlg@@MAEHXZ) 中被引用
1>D:\Project test\智能电源\客户IQC APP\APP\Debug\APP.exe : fatal error LNK1120: 1 个无法解析的外部命令

lib文件及头文件路劲全部都添加到工程里面了,但依旧有这个问题!
源文件连接:http://download.csdn.net/detail/rygzptl/9736374

1个回答

oyljerry
oyljerry   Ds   Rxr 2017.01.13 11:28

那你找找看SetupAppwithFirstFreeAdapter这个函数在哪个cpp或者lib库文件中实现的, 应该没有包含进去

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Web项目无法 自动编译/debug跟踪 项目dll文件
在引用同一solution中的其他项目时,应在reference中引用solution project下的项目,而不应该直接引用已生成的dll文件,否则会导致无法编译跟进断点。
MFC不同dll中对话框的调用问题
碰到一个问题,在不同dll中对话框的调用一直报错,调试发现在OnInitDialog()的时候系统死掉,网上一查才知道还是MFC了解的太少。 网上提供了2种方法,一是将DLL编译成静态链接,即通过更改项目属性-配置属性-常规-MFC的使用中更改,这个我直接pass了,因为我觉得都是本机测试,不会是因为这个 问题,第二种方法是在定义对话框之前加上: AFX_MANAGE_STATE(AfxGe
DLL项目中共享MFC,导出CString等,出现无法解析符号
解决方案: 主项目中属性也必须设置为共享MFC,如果是静态MFC,则会出现该问题。
关于MFC中DLL的制作和调用
在做MFC程序的时候用到了DLL,所以查找总结了一下。 一. 制作DLL流程 为什么都没有段落符号与标号。。。 先创建DLL工程、类,编写DLL函数;编译链接产生DLL文件(普通工程产生的EXE文件,DLL产生的是DLL文件)。 此时DLL文件还不能调用。应用程序要想访问某个DLL中的函数,那么该函数必须是已经被导出的函数。查看DLL中有哪些导出函数可用命令行工具:Dumpbin。命令如下
在MFC中调用DLL文件(只有DLL,无lib,无头文件)
要使用此方法必须知道DLL文件的函数名称以及参数类型。 假设在 PRO.DLL 中有函数如下: long MenuExecute( char *, long , HWND , long , char *, long , void * );   要想在程序中调用需要调用以下函数:   HINSTANCE hPro= ::LoadLibrary("Pro.dll
MFC程序调用Dll中的对话框资源
MFC程序调用Dll中的对话框资源 以非模态显示 调用DLL文件中的对话框_一个DLL的能成功_一个DLL不能成功DllDialogTest VS2010写的 一个基于对话框的MFC程序 然后创建两个常规动态DLL文件 在DLL文件中分别添加对话框 一个DLL的对话框能正常调用 另一个不行 均为非模态调用....
三种DLL(Win32DLL,MFC常规DLL和MFC拓展DLL)的简单学习总结
学习了三种动态链接库的基本知识,分别是Win32DLL,MFC常规DLL和MFC拓展DLL。     Win32DLL使用的是Win32的API实现的,只能导出函数,能被各种应用程序调用,适用范围最广。     MFC常规DLL是适用MFC创建的,就像MFC程序跟Win32程序的关系一样,MFC常规DLL和Win32DLL的关系也是如此。它使用MFC的机制,只能导出标准C函数。如此,它
关于使用MFC DLL时提示内存泄漏问题
这两天按照之前的习惯,在开发过程中使用调试模式运行的时候,发现有意料之外的内存泄漏问题。经过不断的核查定位,最终发现是在使用FreeLibrary函数卸载自己写的一个MFC DLL之后报的内存泄漏。然后又Review了好几遍,十分确定自己的代码没有问题!然后注释了一对代码,发现就算只用了LoadLibrary和FreeLibrary也一样会报内存泄漏。然后找了一下调用MFC DLL内存泄漏相关问题
MFC中调用C#编写的DLL
一、使用 /clr 编译 MFC 可执行文件或规则 DLL 1、打开“项目属性”对话框,方法是右键单击“解决方案资源管理器”中的项目并选择“属性”。 2、展开“配置属性”旁边的节点并选择“常规”。在右侧窗格中的“项目默认值”下,将“公共语言运行库支持”设置为“公共语言运行库支持 (/clr)”。 3、在相同的窗格中,确保将“MFC 的使用”设置为“在共享 DLL 中使用 MFC”。 4、在
3分钟完成在VS创建一个DLL并调用
目录 step 1 : 创建Win32工程(DLL工程) step 2 : 创建MFC工程(对话框测试工程,Demo) step 3 : 设置Win32工程属性(DLL工程) step 4 : 设置MFC工程属性(Demo工程) 准备 :     在lib文件夹中添加文件夹,并以DLL工程命名,作为DLL静态链接文件发布 step 1 : 创建Win32工