VS2015下解决:error LNK2019: 无法解析的外部符号 __iob_func
解决 Error 解析 无法 外部 __ 符号 VS2015
2023-09-14 09:10:38 时间
在使用VS2015下编译SDCC时,编译时报错了:
error LNK2019: 无法解析的外部符号 __iob_func,该符号在函数 output_message 中被引用
根据关键字在网上找到一些文章描述了类似的错误,大都是找不到外部符号__iob
,原因是VS2010上使用了VC6编译的DLL。虽然与我的情况不同,但是原理是一样的,我遇到的这个问题的原因是VS2015下使用VS2010编译的静态库,因为我用的libjpeg-turbo静态库是从官网下载编译好的版本(应该是vs2010这样的版本编译的)。
其实__iob_func
和__iob
都是用来定义stdin,stdout,stderr
,只是不同的VC版本实现方式不同。
下面是VS2015的头文件corecrt_wstdio.h
中对stdin,stdout,stderr
定义
- 1
- 2
- 3
- 4
- 5
- 1
- 2
- 3
- 4
- 5
原来在VS2015中__iob_func
改成了__acrt_iob_func
,所以我参照《【LNK2019】 无法解析的外部符号 __iob》这篇文章的方法在自己的代码中增加了一个名为__iob_func
转换函数:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
再次编译,错误消失。
其实吧,因为我用的libjpeg-turbo静态库是从官网下载编译好的版本(应该是vs2010这样的版本编译的),所以才有这个问题,如果自己重新把libjpeg-turbo的源码在vs2015下重新编译,就不会存在这个问题了。
相关文章
- 解决:error while loading shared libraries: libcrypto.so.1.1: cannot open shared object file: No
- 【微信小程序】解决wx.request请求异步与微信小程序开发中let that = this的运用
- 解决kafka无法删除topic问题
- vue解决跨域问题用后端配合吗_vue图片跨域解决
- 三行代码解决Springboot框架自带异常
- 解决:windows下php curl https时 SSL operation failed with code 1. OpenSSL Error messages: error:1416F086:
- 【Bug解决】pymongo.errors.OperationFailure: Executor error during find command :: caused by :: Sort exce
- 解决Word Press文章ID不连续的问题
- 最新问题:错误代码ERROR ITMS-90096 一.ERROR ITMS-90096解决方法
- MySQL Error number: 3176; Symbol: ER_ERROR_ON_MODIFYING_GTID_EXECUTED_TABLE; SQLSTATE: HY000 报错 故障修复 远程处理
- MySQL Error number: 3888; Symbol: ER_DA_SSL_LIBRARY_ERROR; SQLSTATE: HY000 报错 故障修复 远程处理
- MySQL Error number: 4134; Symbol: ER_BULK_EXECUTOR_ERROR; SQLSTATE: HY000 报错 故障修复 远程处理
- MySQL Error number: MY-011455; Symbol: ER_GRP_RPL_UPDATE_TRANS_SNAPSHOT_VER_ERROR; SQLSTATE: HY000 报错 故障修复 远程处理
- MySQL Error number: MY-011502; Symbol: ER_GRP_RPL_MEMBER_EXIT_PLUGIN_ERROR; SQLSTATE: HY000 报错 故障修复 远程处理
- MySQL Error number: MY-013205; Symbol: ER_GRP_RPL_ERROR_GTID_SET_EXTRACTION; SQLSTATE: HY000 报错 故障修复 远程处理
- MySQL Error number: MY-013281; Symbol: ER_SERVER_RPL_ENCRYPTION_HEADER_ERROR; SQLSTATE: HY000 报错 故障修复 远程处理
- MySQL Error number: MY-013487; Symbol: ER_GRP_RPL_MESSAGE_SERVICE_FATAL_ERROR; SQLSTATE: HY000 报错 故障修复 远程处理
- MySQL Error number: MY-013661; Symbol: ER_UDF_REGISTER_SERVICE_ERROR; SQLSTATE: HY000 报错 故障修复 远程处理
- MySQL Error number: MY-013757; Symbol: ER_GRP_RPL_VIEW_CHANGE_UUID_PARSE_ERROR; SQLSTATE: HY000 报错 故障修复 远程处理
- MySQL Error number: MY-013759; Symbol: ER_GRP_RPL_ADD_VIEW_CHANGE_UUID_TO_GRP_SID_MAP_ERROR; SQLSTATE: HY000 报错 故障修复 远程处理
- MySQL Error number: MY-013809; Symbol: ER_AUTHENTICATION_OCI_PRIVATE_KEY_ERROR; SQLSTATE: HY000 报错 故障修复 远程处理
- MySQL Error number: MY-013926; Symbol: ER_COMPONENT_EE_DATA_DECRYPTION_ERROR; SQLSTATE: HY000 报错 故障修复 远程处理
- 解决MySql Error Code: 2006 – MySQL 服务器已离线 错误详解数据库
- 解决Linux无法杀死进程的问题(linux无法杀死进程)
- 解决Oracle Error 1034问题(oracle-1034)
- 超时解决Oracle存储过程超时等待的技巧(oracle存储过程等待)
- 解决Linux下MQTT重启问题的方法(linux下mqtt重启)
- 使用MySQL查询中文编码问题及解决方法(mysql编码查询)
- 解决MSSQL数据库转换的最佳实践(怎么转mssql数据库)
- 解决MySQL中常见的Error问题(mysql中error)
- MySQL初始化出现崩溃教你如何解决mysqlinit崩溃问题(mysql_init崩溃)
- 解决Oracle DOS乱码问题(oracle dos乱码)
- T-SQL问题解决集锦数据加解密全集