VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 164|回复: 10

[已解决]库在链接时出错,例程调试相关

[复制链接]
87_avatar_middle
最佳答案
0 
donate_vip 发表于 2020-3-13 19:53:42 | 显示全部楼层 |阅读模式
10驿站币
本帖最后由 周南 于 2020-3-15 17:05 编辑

源码来源:<Visual C++项目开发案例全程实录>第一章视频监控源码(源码在下面的百度网盘里)

vs2019报错:
LNK2019        无法解析的外部符号 "int __cdecl VCAInitSdk(struct HWND__ *,enum DISPLAYTRANSTYPE,int)" (?VCAInitSdk@@YAHPEAUHWND__@@W4DISPLAYTRANSTYPE@@H@Z),该符号在函数 "public: virtual int __cdecl CCaptureDlg::OnInitDialog(void)" (?OnInitDialog@CCaptureDlg@@UEAAHXZ) 中被引用        Capture        G:\win10浏览器下载\网络编程\Visual C++项目开发案例全程实录\TM\01\源程序\CaptureDlg.obj        1       

个人分析:26个链接相关的错误,猜测是相关库文件没包含对,该书作者提出库相关提示:
     "本系统使用的硬件是天敏VC4000监控卡,其中使用了MPG4c32.dll、MediaTransmit.dll、MediaTransmit.lib、MediaTransmit.h 、Sa7134Capture.dll、Sa7134Capture.lib和Sa7134Capture.h几个文件,在运行程序前,需要将这些文件添加到当前工程中。"
     我已检查该工程目录下有以上库文件,头文件,并且工程设置_<头文件包含目录><库目录>等指定了文件所在的目录
请兄弟大佬看下,或拿到你的vs环境下试下,第一章源码和电子书在百度网盘:
链接:https://pan.baidu.com/s/1IU-PZd_1bYRxSRVdBzypXw
提取码:u7zf
---------------------------------------------------------------------------------------------------
最下面这个附件是引用别人的(应该是源码,下载不了,请不要理会底部这个附件)@syc
最佳答案
85_avatar_small
2020-3-13 19:53:43
本帖最后由 tjzoo111 于 2020-3-15 22:56 编辑

选好 编译项里面 .h 的 "包含目录"  和 链接器项的 .lib的 "库目录"

代码加入
#include <.h>
#pragma comment(lib,".lib")
如果有错误很可能跨平台的宏定义问题   编译选项 预处理器 设置
有没有预处理器定义问题?  
syc大佬都正常了
问问syc大佬 啥平台 你啥平台  若一样就不是这问题   不一样就很可能是 宏定义了平台
QQ图片20200313183928.png
QQ截图20200313184126.png
QQ截图20200313184031.png
QQ截图20200313183733.png
QQ截图20200313183355.png

vc项目开发全程实录VC 项目开发全程实.rar

62.49 KB, 下载次数: 2

最佳答案

查看完整内容

选好 编译项里面 .h 的 "包含目录" 和 链接器项的 .lib的 "库目录" 代码加入 #include #pragma comment(lib,".lib") 如果有错误很可能跨平台的宏定义问题 编译选项 预处理器 设置 有没有预处理器定义问题? syc大佬都正常了 问问syc大佬 啥平台 你啥平台 若一样就不是这问题 不一样就很可能是 宏定义了平台




上一篇:电子合同的制定
下一篇:deletefile删除文件失败
85_avatar_middle
最佳答案
3 
在线会员 发表于 2020-3-13 19:53:43 | 显示全部楼层    本楼为最佳答案   
bestAnswer
本帖最后由 tjzoo111 于 2020-3-15 22:56 编辑

选好 编译项里面 .h 的 "包含目录"  和 链接器项的 .lib的 "库目录"

代码加入
#include <.h>
#pragma comment(lib,".lib")
如果有错误很可能跨平台的宏定义问题   编译选项 预处理器 设置
有没有预处理器定义问题?  
syc大佬都正常了
问问syc大佬 啥平台 你啥平台  若一样就不是这问题   不一样就很可能是 宏定义了平台
51_avatar_middle
最佳答案
74 
online_admins 发表于 2020-3-13 21:51:56 | 显示全部楼层
源码根本下载不下来啊。。。楼主最好还是把源码传上来吧
51_avatar_middle
最佳答案
74 
online_admins 发表于 2020-3-15 20:33:00 | 显示全部楼层
因为你的工程中使用了:Sa7134Capture.lib、MediaTransmit.lib 这两个库,但是这两个库是 x86 的,也就是32位的,所以如果楼主使用 x64 去编译肯定会报链接错误。

改成 x86 就可以了!
库在链接时出错,例程调试相关
87_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2020-3-15 22:26:31 | 显示全部楼层
Syc 发表于 2020-3-15 20:33
因为你的工程中使用了:Sa7134Capture.lib、MediaTransmit.lib 这两个库,但是这两个库是 x86 的,也就是32 ...

改过,改成x86直接就   "错误码为2 退出"
51_avatar_middle
最佳答案
74 
online_admins 发表于 2020-3-15 22:38:46 | 显示全部楼层
周南 发表于 2020-3-15 22:26
改过,改成x86直接就   "错误码为2 退出"


完全重新编译一下试试,我刚刚使用VS2013,x86的形式编译已经过了啊
87_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2020-3-16 00:02:22 | 显示全部楼层
tjzoo111 发表于 2020-3-15 22:40
选好 编译项里面 .h 的 "包含目录"  和 链接器项的 .lib的 "库目录"

代码加入

C:\Users\64340\Desktop\QQ截图20200315234434.png
尝试加上extern "C" {}修饰还是不成功,我的环境是vs2019,我发现还有工程也是这种无法导入库文件的函数
87_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2020-3-16 00:16:47 | 显示全部楼层
周南 发表于 2020-3-16 00:02
尝试加上extern "C" {}修饰还是不成功,我的环境是vs2019,我发现还有工程也是这种无法导入库文件的函数

即使包含的头文件下加#pragma comment(lib,"Sa7134Capture.lib")也不行
85_avatar_middle
最佳答案
3 
在线会员 发表于 2020-3-16 01:33:52 | 显示全部楼层
周南 发表于 2020-3-16 00:16
即使包含的头文件下加#pragma comment(lib,"Sa7134Capture.lib")也不行

之前你路径和附加项都是正确的

只有宏设定这个没有确定
syc大佬可能win10 控制台
你可能是 winxp的 win32

比如 .h 有这种操作就要注意  是否加入了HAVE_REMOTE的宏
#ifdef HAVE_REMOTE
        #ifndef SOCKET
                #ifdef WIN32
                        #define SOCKET unsigned int
                #else
                        #define SOCKET int
                #endif
        #endif
#endif
85_avatar_middle
最佳答案
3 
在线会员 发表于 2020-3-16 13:58:19 | 显示全部楼层
像这种 WPCAP宏 加入了头文件的  或者其他什么的  
若没有先处理 默认不加入Win32-Extensions.h  那里运行的起来吗 就算运行起来也可能出现有无符号, 类型引起内存错误

#ifdef WPCAP
/* Include file with the wpcap-specific extensions */
#include <Win32-Extensions.h>
#endif /* WPCAP */
87_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2020-3-19 16:25:39 | 显示全部楼层
可能是开发平台的问题,不纠结了
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

×【发帖 友情提示】
1、请回复有意义的内容,请勿恶意灌水;
2、纯数字、字母、表情等无意义的内容系统将自动删除;
3、若正常回复后帖子被自动删除,为系统误删的情况,请重新回复其他正常内容或等待管理员审核通过后会自动发布;
4、感谢您对VC驿站一如既往的支持,谢谢合作!

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号 )|网站地图wx_jqr

GMT+8, 2020-5-28 09:00

Powered by CcTry.CoM

© 2009-2020 cctry.com

快速回复 返回顶部 返回列表