(OLED_V2)中使用,记录如下。
新建工程添加到已有的解决方案。
[attach]122803[/attach]
VS2015的配置步骤:
1.
[attach]122804[/attach]
2.
[attach]122805[/attach]
3.
[attach]122806[/attach]
注意:CyAPI.lib(CyAPI.obj) : error LNK2019:无法解析的外部符号 _sprintf,
在vs2015工程选项,链接器附加依赖项里面添加legacy_stdio_definitions.lib即可。
出现这个问题的原因是vs2015默认编译时将许多标准库采用内联方式处理,因而没有可以链接的标准库文件,所以要专门添加标准库文件来链接标准库中的函数。
补充:
#if 1
VS2017添加CyAPI.lib的时候出现error LNK2019提示,如下
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) 中被引用
解决方法:
给VS2017添加附加依赖库:下面2个,(SETUPAPI.lib是必须加的)。
SetupAPI.lib VS2017比VS2015需要多加个这个库。。。
legacy_stdio_definitions.lib VS2015和VS2017中必须加的 。。
#endif
在主工程添加USB_Dll
[attach]122807[/attach]
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) | Powered by Discuz! X3.2 |