最近想学习开发图像采集程序,下载了大恒图像SDK,打开其中一个实例,编译后出现一个错误:“fatal error LNK1181: 无法打开输入文件“GxIAPI.lib”,于是我按照网上给的方法,重新配置项目属性,结果出现更多的错误:
1>GxGetImageDlg.obj : error LNK2019: 无法解析的外部符号 _GXInitLib@0,该符号在函数 "protected: virtual int __thiscall CGxGetImageDlg::OnInitDialog(void)" (?OnInitDialog@CGxGetImageDlg@@MAEHXZ) 中被引用
1>GxGetImageDlg.obj : error LNK2019: 无法解析的外部符号 _GXOpenDevice@8,该符号在函数 "public: int __thiscall CGxGetImageDlg::OpenDevice(void)" (?OpenDevice@CGxGetImageDlg@@QAEHXZ) 中被引用
1>GxGetImageDlg.obj : error LNK2019: 无法解析的外部符号 _GXCloseDevice@4,该符号在函数 "public: int __thiscall CGxGetImageDlg::CloseDevice(void)" (?CloseDevice@CGxGetImageDlg@@QAEHXZ) 中被引用
1>GxGetImageDlg.obj : error LNK2019: 无法解析的外部符号 _GXSetEnum@16,该符号在函数 "public: int __thiscall CGxGetImageDlg::InitDevice(void)" (?InitDevice@CGxGetImageDlg@@QAEHXZ) 中被引用
折腾了半天也没整好,然后登陆大恒图像官方网站,查看在线帮助找到了————”请在“Build”->“Configuration”中选择Win64编译方式,否则程序默认以Win32方式编译会出错。“
于是,我在配置管理器中把平台win32改成平台x64。但是问题仍然没有解决,编译后还是报错:
fatal error LNK1112: 模块计算机类型“X86”与目标计算机类型“x64”冲突
经过一番搜索,问题终于解决了,即:右键项目名,选择”清理“,然后重新编译,编译成功!