编译dll时调用其他第三方dll,编译通过但链接时提示无法识别的外部符号

环境为win8.1 64位,VS2010。已经确定包含目录、库目录正确,include了头文件,附加依赖项也添加了*.lib,也试过#pragma comment (lib,"*.lib"),但是还是在链接时报错。第三方dll是某厂商提供的,包含硬件设备与计算机通信的接口,奇怪的是新建一个工程生成exe可以正常调用dll没有问题,但是新建一个dll工程采用相同的步骤却会提示第三方dll中的函数是无法识别的外部符号,请问这是什么原因?
图片说明

dll

2个回答

exe和dll的工程属性是否一致,比如mfc库,运行时库是否都相同。同时这些配置也要跟第三方dll的一致。

qq_32408771
无限代码 两个工程我都是默认创建的。现在知道问题原因了,第三方dll应该是32位的,原本exe工程debug是win32的时候没有问题,换成x64就会报错相同了。看来没有源码重新编译成64位的话就没办法用了。。。
接近 3 年之前 回复

关键是看你h文件里有没有定义 extern 函数原型,如果没有,就不能识别。

qq_32408771
无限代码 头文件中是有extern "C"的
接近 3 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问