芯路恒电子技术论坛

 找回密码
 立即注册
热搜: 合集
查看: 11581|回复: 8

VS2013/5/7添加CyAPI.lib报错:error LNK2019

[复制链接]
  • TA的每日心情
    慵懒
    2021-2-24 10:16
  • 419

    主题

    770

    帖子

    1万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    15809
    QQ
    发表于 2018-11-13 19:54:30 | 显示全部楼层 |阅读模式
    1>CyAPI.lib(CyAPI.obj) : error LNK2019: 无法解析的外部符号 __imp__SetupDiDestroyDeviceInfoList@4,该符号在函数 "public: unsigned char __thiscall CCyUSBDevice:eviceCount(void)" (?DeviceCount@CCyUSBDevice@@QAEEXZ) 中被引用
    1>CyAPI.lib(CyAPI.obj) : error LNK2019: 无法解析的外部符号 __imp__SetupDiEnumDeviceInterfaces@20,该符号在函数 "public: unsigned char __thiscall CCyUSBDevice:eviceCount(void)" (?DeviceCount@CCyUSBDevice@@QAEEXZ) 中被引用
    1>CyAPI.lib(CyAPI.obj) : error LNK2019: 无法解析的外部符号 __imp__SetupDiGetClassDevsA@16,该符号在函数 "public: unsigned char __thiscall CCyUSBDevice:eviceCount(void)" (?DeviceCount@CCyUSBDevice@@QAEEXZ) 中被引用
    1>CyAPI.lib(CyAPI.obj) : error LNK2019: 无法解析的外部符号 __imp__SetupDiGetDeviceInterfaceDetailA@24,该符号在函数 "public: bool __thiscall CCyUSBDevice::CreateHandle(unsigned char)" (?CreateHandle@CCyUSBDevice@@QAE_NE@Z) 中被引用
    1>CyAPI.lib(CyAPI.obj) : error LNK2019: 无法解析的外部符号 _sprintf,该符号在函数 "public: void __thiscall CCyUSBDevice::UsbdStatusString(unsigned long,char *)" (?UsbdStatusString@CCyUSBDevice@@QAEXKPAD@Z) 中被引用
    ---------------------
    作者:王小波门下走狗
    来源:CSDN
    原文:https://blog.csdn.net/wangzhichunnihao/article/details/78480493
    版权声明:本文为博主原创文章,转载请附上博文链接!


    解决方法:

    给VS2017添加附加依赖库:下面2个,(SETUPAPI.lib是必须加的)。
    SetupAPI.lib                               VS2017比VS2015需要多加个这个库。。。
    legacy_stdio_definitions.lib          VS2015和VS2017中必须加的 。。
    ---------------------
    作者:王小波门下走狗
    来源:CSDN
    原文:https://blog.csdn.net/wangzhichunnihao/article/details/78480493
    版权声明:本文为博主原创文章,转载请附上博文链接!

    回复

    使用道具 举报

  • TA的每日心情
    开心
    2022-6-29 15:57
  • 13

    主题

    246

    帖子

    3625

    积分

    超级版主

    Rank: 8Rank: 8

    积分
    3625
    发表于 2018-11-13 20:35:24 | 显示全部楼层
    666,厉害了
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2021-2-24 10:16
  • 419

    主题

    770

    帖子

    1万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    15809
    QQ
     楼主| 发表于 2018-11-24 21:35:04 | 显示全部楼层

    1>LIBCMT.lib(setlocal.obj) : error LNK2005: __configthreadlocale 已经在 msvcrtd.lib(MSVCR80D.dll) 中定义

    1>LIBCMT.lib(tidtable.obj) : error LNK2005: __encode_pointer 已经在 msvcrtd.lib(MSVCR80D.dll) 中定义
    1>LIBCMT.lib(tidtable.obj) : error LNK2005: __decode_pointer 已经在 msvcrtd.lib(MSVCR80D.dll) 中定义
    1>LIBCMT.lib(invarg.obj) : error LNK2005: __invoke_watson 已经在 msvcrtd.lib(MSVCR80D.dll) 中定义
    1>LIBCMT.lib(crt0dat.obj) : error LNK2005: __amsg_exit 已经在 msvcrtd.lib(MSVCR80D.dll) 中定义
    1>LIBCMT.lib(crt0dat.obj) : error LNK2005: __initterm_e 已经在 msvcrtd.lib(MSVCR80D.dll) 中定义
    1>LIBCMT.lib(crt0dat.obj) : error LNK2005: _exit 已经在 msvcrtd.lib(MSVCR80D.dll) 中定义
    1>LIBCMT.lib(crt0dat.obj) : error LNK2005: __exit 已经在 msvcrtd.lib(MSVCR80D.dll) 中定义
    1>LIBCMT.lib(crt0dat.obj) : error LNK2005: __cexit 已经在 msvcrtd.lib(MSVCR80D.dll) 中定义
    1>LIBCMT.lib(mlock.obj) : error LNK2005: __unlock 已经在 msvcrtd.lib(MSVCR80D.dll) 中定义
    1>LIBCMT.lib(mlock.obj) : error LNK2005: __lock 已经在 msvcrtd.lib(MSVCR80D.dll) 中定义
    1>LIBCMT.lib(winxfltr.obj) : error LNK2005: __XcptFilter 已经在 msvcrtd.lib(MSVCR80D.dll) 中定义
    1>LIBCMT.lib(calloc.obj) : error LNK2005: _calloc 已经在 msvcrtd.lib(MSVCR80D.dll) 中定义
    1>LIBCMT.lib(realloc.obj) : error LNK2005: __recalloc 已经在 msvcrtd.lib(MSVCR80D.dll) 中定义
    1>LIBCMT.lib(crt0init.obj) : error LNK2005: ___xi_a 已经在 msvcrtd.lib(cinitexe.obj) 中定义
    1>LIBCMT.lib(crt0init.obj) : error LNK2005: ___xi_z 已经在 msvcrtd.lib(cinitexe.obj) 中定义
    1>LIBCMT.lib(crt0init.obj) : error LNK2005: ___xc_a 已经在 msvcrtd.lib(cinitexe.obj) 中定义
    1>LIBCMT.lib(crt0init.obj) : error LNK2005: ___xc_z 已经在 msvcrtd.lib(cinitexe.obj) 中定义
    1>LIBCMT.lib(hooks.obj) : error LNK2005: "void __cdecl terminate(void)" (?terminate@@YAXXZ) 已经在 msvcrtd.lib(MSVCR80D.dll) 中定义
    1>LIBCMT.lib(dosmap.obj) : error LNK2005: __errno 已经在 msvcrtd.lib(MSVCR80D.dll) 中定义
    1>LIBCMT.lib(errmode.obj) : error LNK2005: ___set_app_type 已经在 msvcrtd.lib(MSVCR80D.dll) 中定义
    1>msvcrtd.lib(MSVCR80D.dll) : error LNK2005: __setmbcp 已经在 LIBCMT.lib(mbctype.obj) 中定义
    1>LINK : warning LNK4098: 默认库“msvcrtd.lib”与其他库的使用冲突;请使用 /NODEFAULTLIB:library
    1>LINK : warning LNK4098: 默认库“LIBCMT”与其他库的使用冲突;请使用 /NODEFAULTLIB:library

    1>LIBCMT.lib(crt0.obj) : error LNK2019: 无法解析的外部符号 _main,该符号在函数 ___tmainCRTStartup 中被引用


    链接器->输入->忽略特定库: libcmt.lib


    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2021-2-24 10:16
  • 419

    主题

    770

    帖子

    1万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    15809
    QQ
     楼主| 发表于 2018-11-24 21:36:06 | 显示全部楼层
    error LNK2026: 模块对于 SAFESEH 映像是不安全的

    错误描述:

    在使用VS2012编译工程时,提示错误:" error LNK2026: 模块对于 SAFESEH 映像是不安全的"



    解决方法:

    1.打开该项目的“属性页”对话框。

    2.单击“链接器”文件夹。

    3.单击“命令行”属性页。

    4.将 /SAFESEH:NO 键入“其他选项”框中,然后点击应用。
    ---------------------
    作者:swanabin
    来源:CSDN
    原文:https://blog.csdn.net/swanabin/article/details/42679227
    版权声明:本文为博主原创文章,转载请附上博文链接!

    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2021-2-24 10:16
  • 419

    主题

    770

    帖子

    1万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    15809
    QQ
     楼主| 发表于 2018-11-25 11:17:00 | 显示全部楼层
    const char* 类型形参与LPWSTR 类型的实参不兼容

    在用VS2012,VS2013编译自己或者网上的源代码时会提示如下错误“LPWSTR 类型的实参与const.char 类型形参不兼容”,如果我们在VC6.0上运行是不会提示这个错误的。主要原因是VC6默认使用字符ANSII编码方而VS2010、VS2012、Visual Studio 2013默认使用UNICODE编码方式。它们对一些字符所占内存空间的位数不同,为了向下兼容,可以在VS中通过修改配置-常规-“使用unicode编码”改成“使用多字节字符集”
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2019-4-2 16:29
  • 0

    主题

    1

    帖子

    4

    积分

    新手入门

    Rank: 1

    积分
    4
    发表于 2019-4-28 10:13:06 | 显示全部楼层
    请问 VC2008也报这个错,但是找不到legacy_stdio_definitions.lib这个文件,怎么办?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    2

    帖子

    18

    积分

    新手入门

    Rank: 1

    积分
    18
    发表于 2019-5-12 00:50:00 | 显示全部楼层
    小梅哥,其实用vs编译cyusb3.0的源码得到的库,再编译软件就可以不用加legacy _stdio_definitions.lib   了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2021-2-24 10:16
  • 419

    主题

    770

    帖子

    1万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    15809
    QQ
     楼主| 发表于 2019-5-12 10:51:59 | 显示全部楼层
    oak 发表于 2019-5-12 00:50
    小梅哥,其实用vs编译cyusb3.0的源码得到的库,再编译软件就可以不用加legacy _stdio_definitions.lib   了 ...

    如何编译源码?还有源码提供么
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    2

    帖子

    18

    积分

    新手入门

    Rank: 1

    积分
    18
    发表于 2019-6-6 00:06:29 | 显示全部楼层
    源码可以在官网上下载。
    好久没来论坛逛了。
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|小黑屋|Archiver|芯路恒电子技术论坛 |鄂ICP备2021003648号

    GMT+8, 2024-3-29 13:40 , Processed in 0.144524 second(s), 35 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

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