壹念至贱 2019-05-06 13:57 采纳率: 50%
浏览 295
已结题

海康切换到32位后发生obj连接错误应如何解决?

之前程序是用64位做的,现在切换到了32位,重新配置头文件和库文件以后还是无法运行。Error提示:无法解析的外部符号,文件位置是obj。如图:图片说明

我根据提示信息找到代码中的引用

BOOL CHIKVISION::DoLogin()
{
    NET_DVR_DEVICEINFO_V30 DeviceInfoTmp;
    memset(&DeviceInfoTmp, 0, sizeof(NET_DVR_DEVICEINFO_V30));
    LONG lLoginID = NET_DVR_Login_V30("192.168.127.14", 8000, \
        "admin", "admin12345", &DeviceInfoTmp);
    if (lLoginID == -1)
    {
        AfxMessageBox(_T("Login to Device failed!\n"));
        return FALSE;
    }
    m_struDeviceInfo.lLoginID = lLoginID;
    m_struDeviceInfo.iDeviceChanNum = DeviceInfoTmp.byChanNum;
    m_struDeviceInfo.iIPChanNum = DeviceInfoTmp.byIPChanNum;
    m_struDeviceInfo.iStartChan = DeviceInfoTmp.byStartChan;
    m_struDeviceInfo.iIPStartChan = DeviceInfoTmp.byStartDChan;
    return TRUE;
}

发现我的代码与错误提示有略微区别,不知道为什么多出了_imp_的前缀和@4的后缀。
遇到这种问题,应该如何解决

  • 写回答

1条回答 默认 最新

  • 可怜白发生 2019-05-06 18:38
    关注

    你好,
    你这里的问题在于使用了 64bit 来进行链接。 如果需要生成在32bit平台使用的程序,你需要找第三方取得对应的 32bit 版本的库文件
    (静态库 .lib 文件/ 动态库 .dll 文件) 以及对应的 .h 文件,来进行后续开发。

    这里的 _imp_ 是 msvc 根据 Win32 要求进行的正常函数名变形,无需担心。
    具体有关这里的一些信息可以参考 https://docs.microsoft.com/zh-cn/cpp/build/walkthrough-creating-and-using-a-static-library-cpp?view=vs-2019#UseLibInApp

    评论

报告相同问题?

悬赏问题

  • ¥15 matlab(相关搜索:紧聚焦)
  • ¥15 基于51单片机的厨房煤气泄露检测报警系统设计
  • ¥15 路易威登官网 里边的参数逆向
  • ¥15 Arduino无法同时连接多个hx711模块,如何解决?
  • ¥50 需求一个up主付费课程
  • ¥20 模型在y分布之外的数据上预测能力不好如何解决
  • ¥15 processing提取音乐节奏
  • ¥15 gg加速器加速游戏时,提示不是x86架构
  • ¥15 python按要求编写程序
  • ¥15 Python输入字符串转化为列表排序具体见图,严格按照输入