c++——“LNK2001 无法解析的外部符号 _printf”问题解决方案

使用场景

使用Visual Studio2019建立工程,依赖Visual Studio2015编译好的库(高版本的编译器依赖低版本编译的库)。

问题

编译vs2019工程时报如下错误:

error LNK2001: 无法解析的外部符号 _printf
error LNK2001: 无法解析的外部符号 __vscprintf
error LNK2001: 无法解析的外部符号 _fprintf
error LNK2001: 无法解析的外部符号 __vscwprintf
error LNK2001: 无法解析的外部符号 __vscprintf

原因

vs2019默认编译时将许多标准库采用内联方式处理,因而没有可以链接的标准库文件,所以要专门添加标准库文件来链接标准库中的函数。

修复方案

在“项目属性---链接器---输入---附加依赖项”中,添加legacy_stdio_definitions.lib

内联函数提升性能

内联函数是一种编译器优化手段,它将函数调用替换为函数体的代码,以减少函数调用的开销。在C++中,可以使用关键字inline来声明内联函数。需要注意的是,内联函数应该尽量简短,否则可能导致代码膨胀。编译器并非一定遵循内联请求,而是根据实际情况决定是否进行内联。

参考:https://blog.csdn.net/cscheng7907/article/details/128580429

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/61463.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【附安装包】MyEclipse2019安装教程

软件下载 软件:MyEclipse版本:2019语言:简体中文大小:1.86G安装环境:Win11/Win10/Win8/Win7硬件要求:CPU2.5GHz 内存4G(或更高)下载通道①百度网盘丨下载链接:https://pan.baidu.co…

python装饰器@classmethod使用详解

装饰器本质上是一个Python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象。它经常用于有切面需求的场景,比如:插入日志、性能测试、事务处理、缓存、权限校验等场景。装饰器是…

Fiddler中 AutoResponder 使用

Fiddler的 AutoResponder ,即URL重定向功能非常强大。不管我们做URL重定向,还是做mock测试等,都可以通过该功能进行实践。 下面,小酋就来具体讲下该功能的用法。 Enable rules 启用规则Unmatched requests passthrough 没有匹配…

electron globalShortcut 快捷键,在焦点移到其他软件上时,调用快捷键报错

用 electron 开发软件,在设置了 globalShortcut 快捷键后,在当前开发的软件上调用快捷键正常,但是当焦点不在当前软件时,在使用快捷键,好些时候会报错。大概率与系统快捷键产生冲突或者快键键控制的回调里获取的内容&a…

四信重磅推出5G RedCap AIoT摄像机 RedCap轻量级5G终端新品首发!

6月6日,四信受邀出席移动物联网高质量发展论坛,并在移动物联网新产品发布环节隆重推出5G RedCap AIoT摄像机,再次抓紧需求先机,为行业用户创造无限可能! 两大应用场景 助推RedCap走深向实 火遍全网络的RedCap应用场景可…

LInux脚本- 将一个路径下的前500个文件复制到另一个路径下

需求:从 /home/majn/llvm_project/extract_main 路径下复制前500个 .c 文件到 /home/majn/llvm_project/extract_main_500 目录。 以下是一个用于实现该功能的 Bash 脚本。 #!/bin/bash# 源目录和目标目录 SOURCE_DIR"/home/majn/llvm_project/extract_main&…

java八股文面试[多线程]——ThreadLocal底层原理和使用场景

源码分析: ThreadLocal中定义了ThreadLocalMap静态内部类,该内部类中又定义了Entry内部类。 ThreadLocalMap定了 Entry数组。 Set方法: Get方法: Thread中定义了两个ThreaLocalMap成员变量: Spring使用ThreadLocal解…

Ansible学习笔记3

ansible模块: ansible是基于模块来工作的,本身没有批量部署的能力,真正具有批量部署的是ansible所运行的模块,ansible只是提供一个框架。 ansible支持的模块非常多,我们并不需要把每个模块记住,而只需要熟…

华为云软件精英实战营——感受软件改变世界,享受Coding乐趣

机器人已经在诸多领域显现出巨大的商业价值,华为云计算致力于以云助端的方式为机器人产业带来全新机会 如果您是开发爱好者,想了解华为云,想和其他自由开发者交流经验; 如果您是学生,想和正在从事软件开发行业的大佬…

Go 切片

切片 一、切片(slice)概念 在讲解切片(slice)之前,大家思考一下数组有什么问题? 数组定义完,长度是固定的。例如: var num [5]int [5]int{1,2,3,4,5}定义的num数组长度是5&#…

Android 下第一个fragment app 先Java 后Kotlin

看着视频学习的,Fragment:3.Fragment使用方法_哔哩哔哩_bilibili 在android studio 下新建一个工程,类型是 Empty View Activity,本身就有一个Activity。就有文件MainActivity.java 或者kt,还有一个layout 文件&#…

无代码:软件开发从代码语言到业务语言的拐点

在互联网巨头和中小企业纷纷追求移动互联和“上云”的今天,业务在线已成为众多企业数字化转型的必经之路。然而,传统的软件重装开发模式已经无法满足企业快速变化的需求,同时IT专业人才的成本也在不断攀升,使得企业的IT交付能力面…

Unity ShaderGraph教程——进阶shader

1.水面(一) 公式:场景深度 节点深度 — 屏幕空间位置的W向量 半透明物体与不透明物体的相交边缘 原理:场景深度 节点深度包含透明像素,屏幕空间w向量不包含透明像素。 注意:需要在UniversalRP-xxxQuali…

Docker Desktop for Linux和Docker Engine 区别

1. Docker Desktop 介绍 Docker Desktop是一种一键安装应用程序,适用于Mac、Linux或Windows环境,允许您构建、共享和运行容器化应用程序和微服务。 它提供了一个直观的GUI(图形用户界面),允许您直接从您的机器管理容器、应用程序和映像。Do…

Docker修改容器ulimit的全部方案及各方案的详细步骤

要修改Docker容器的ulimit(用户资源限制),有以下三种方案,每个方案的详细步骤如下: 方案一:在Dockerfile中设置ulimit 打开您的Dockerfile。在文件中添加以下命令来修改ulimit:RUN ulimit -n …

Mysql索引、事务与存储引擎 (事务、MySQL 存储引擎)

事务 一、事务的概念: ①事务是一种机制、一个操作序列,包含了一组数据库操作命令,并且把所有的命令作为一个整体一起向系统提交或撤销操作请求,即这一组数据库命令要么都执行,要么都不执行。 ②事务是一个不可分割的工…

海康机器人工业相机SDK MVS安装教程

文章目录 一. 海康机器人介绍二. 工业相机客户端安装教程 一. 海康机器人介绍 海康机器人是面向全球的机器视觉和移动机器人产品及解决方案提供商,业务聚焦于工业物联网、智慧物流和智能制造,构建开放合作生态,为工业和物流领域用户提供服务…

对分库分表进行批量操作

对ShardingJDBC基础了解:https://blog.csdn.net/m0_63297646/article/details/131894472 对批量操作案例:https://blog.csdn.net/m0_63297646/article/details/131843517 分为db0和db1两个库,每个库都有三张订单表,分表键根据年份…

TDengine函数大全-选择函数

以下内容来自 TDengine 官方文档 及 GitHub 内容 。 以下所有示例基于 TDengine 3.1.0.3 TDengine函数大全 1.数学函数 2.字符串函数 3.转换函数 4.时间和日期函数 5.聚合函数 6.选择函数 7.时序数据库特有函数 8.系统函数 选择函数 TDengine函数大全BOTTOMFIRSTINTERPLASTLAS…