做wraper DLL的时候编译出错 2001 1120

xaero_dillon 2011-04-11 10:31:40
为了用labview调用一个dll,因为其中有结构体,所以想用一个dll中包含另一个dll,导出成labview可以识别的数据类型,但是一直出现2001 1120错误。网上的方法都试过了... 请高人指点!

错误:Creating library Debug/test.lib and object Debug/test.exp
test.obj : error LNK2001: unresolved external symbol "int __stdcall PSADLLGetNoGateImportanceRecords(int)" (?PSADLLGetNoGateImportanceRecords@@YGHH@Z)
Debug/test.dll : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

项目名:test
调用的函数随便是哪个都不行,不管参数是整形、指针、结构体都不可以。
代码:
#include "stdafx.h"
#include "windows.h"
#include "test.h"
#include "dll.h"
#pragma comment(lib,"dll.lib")

BOOL APIENTRY DllMain(
HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
return TRUE;
}
extern "C" _declspec(dllexport)int warp(int a)
{
return PSADLLGetNoGateImportanceRecords(a);
}
...全文
124 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
skyworth98 2011-04-14
  • 打赏
  • 举报
回复
检查头文件中PSADLLGetNoGateImportanceRecords是不是用dllimport声明的
xaero_dillon 2011-04-14
  • 打赏
  • 举报
回复
自己顶一下~ 高手请帮忙啊...
maoxing63570 2011-04-14
  • 打赏
  • 举报
回复
还有就是请你看下名字改编的问题
maoxing63570 2011-04-14
  • 打赏
  • 举报
回复
是否是同一个编译器编译的dll跟你的引用dll的程序,如果不是的话还是用def文件,看那个错误是找不到相关的函数名,这个建议你用dumpbin看下导出的符号
xaero_dillon 2011-04-14
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 skyworth98 的回复:]
检查头文件中PSADLLGetNoGateImportanceRecords是不是用dllimport声明的
[/Quote]
dll.h 中是dllexport声明的,但是改成import也一样的结果

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧