VS2015+OpenGL4.0开发编译时弹出错误:glaux.lib(tk.obj) : error LNK2019: 无法解析的外部符号 _sscanf,该符号在函数 [email protected] 中被引用

一、问题描述:

VS2015+OpenGL4.0开发编译时弹出如下所示的错误:

1>glaux.lib(tk.obj) : error LNK2019: 无法解析的外部符号 _sscanf,该符号在函数 [email protected] 中被引用

1>glaux.lib(tk.obj) : error LNK2019: 无法解析的外部符号 _vsprintf,该符号在函数 _PrintMessage 中被引用

二、问题原因:

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

三、解决办法:

1、VS2015编译会出现这个问题,解决办法在项目属性->链接器->输入->附加依赖项中添加依赖项 legacy_stdio_definitions.lib

2、在报错的*.c文件中代码开头添加:#pragma comment(lib, "legacy_stdio_definitions.lib")

原文地址:https://www.cnblogs.com/rainbow70626/p/8969594.html

时间: 2024-10-25 06:41:15

VS2015+OpenGL4.0开发编译时弹出错误:glaux.lib(tk.obj) : error LNK2019: 无法解析的外部符号 _sscanf,该符号在函数 [email protected] 中被引用的相关文章

vs2015编译ffmpeg 出现错误rtmp.lib(rtmp.obj) : error LNK2001: 无法解析的外部符号 ___iob_func

vs2015编译ffmpeg(版本3.0.2)引用外部库文件librtmp出现以下错误: rtmp.lib(rtmp.obj) : error LNK2001: 无法解析的外部符号 __imp__strtod rtmp.lib(rtmp.obj) : error LNK2001: 无法解析的外部符号 __imp__sscanf rtmp.lib(rtmp.obj) : error LNK2001: 无法解析的外部符号 __imp___snprintf rtmp.lib(rtmp.obj) : e

使用SDL2出现 “error LNK2019: 无法解析的外部符号 _SDL_main,该符号在函数 _main 中被引用” 时的可能错误记录

这几天在使用SDL2,之前一直都没有错,直到上午把项目搬了个地方.结果一直出现 “error LNK2019: 无法解析的外部符号 _SDL_main,该符号在函数 _main 中被引用” . 看了网上的方法都说是没有正确定义 main 函数 ,这是SDL2main.lib指定需要的函数.结果我把他定义在了"xx.h"这样的头文件中. 原来我一直没理解头文件和源文件的重要区别.把 main 函数定义在 "xx.cpp" 这样的源文件中就可以正确编译了. 看来还需要再

编译出现error LNK2019: 无法解析的外部符号 _main

创建应用程序时选择了创建了一个新的Win32应用程序项目,并给这个项目创建了一个入口函数main.在这种情况下,创建应用程序时,编译程序就会看到一个连接程序的错误信息.光是看名字就可以猜出程序找不到main入口,而我是把DirectX Demo例子程序复制粘贴进去,应该是Win32应用程序,因此更改系统链接方法,点击项目属性,选择链接器中系统,子系统选项里面选择将/subsytem:console改为/subsystem:windows 重新编译运行不再有错误,成功! 另外在VS2013下如何配

codeblocks和vscode编译时弹出不支持的16位程序解决方案

困扰我多年的问题,用vscode也会出现类似的错误.网上的许多方案都是下载360,火绒类似的方案,但是治标不治本,过一段时间又不好了.其根本原因是映像劫持造成的,可以理解成病毒,下面我主要介绍一下: 映像劫持的根本原因就是被恶意程序篡改了注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options. 假如在这里新建一个子项notepad.exe,再在这子项里新建一个R

在eclipse中创建maven webapp项目时弹出错误-解决办法

在eclipse中创建maven webapp项目时报错: Could not resolve archetype org.apache.maven.archetypes:maven-archetype-webapp:1.0 from any of the configured repositories. 问题产生原因:是因为本地仓库中缺少了maven-archetype-webapp包,也可能这个包下载不完全,比如:只有pom文件,或只有jar包文件等   [包路径为:C:\Users\xxx

VC编译错误:msvcrtd.lib(ti_inst.obj) : error LNK2005: "private: __thiscall type_info::t.... 已经在 libcmtd.lib(typinfo.obj) 中定义

1>msvcrtd.lib(ti_inst.obj) : error LNK2005: "private: __thiscall type_info::type_info(class type_info const &)" ([email protected]@[email protected]@@Z) 已经在 libcmtd.lib(typinfo.obj) 中定义1>msvcrtd.lib(ti_inst.obj) : error LNK2005: "

数据库连接失败时,如何捕捉错误,避免弹出错误提示,以便下次自动重新连接

主要是要避免人工介入.一旦弹出错误提示,如果没有人工介入把它关掉,则程序会一直停在那里,无法自动重新连接. 在连接的时候虽然加入了try....except保护,但还是无法避免在操作数据库中数据时网络连接突然断掉或数据库服务被关闭时弹出错误提示. 曾经看到过可以在Application的某个事件中进行处理,但现在检索不到 LZ说的那个事件是Applicataion.OnException,程序所有错误都会触发这个事件 一个系统和数据库连接的代码可能有很多,又存在于不同的单元 每个open/exc

C++工程编译之“error LNK2001: 无法解析的外部符号”

今天一整天都在折腾“error LNK2001: 无法解析的外部符号”,就在头疼不已的时候,总算是找到问题原因了:各个动态链接库的编译方式必须统一才行,要不然很容易对库函数的引用产生冲突.简单来说就是,如果使用的第三方函数库编译方式采用/MD,那么主工程也应该使用/MD.我使用了libevent,而主工程默认采用/MT,所以需要忽略一大堆的函数库,我还纳闷呢,怎么会这么奇怪!!今天总算是解决了长久以来的困惑了. 下面引用一篇文章的描述:[Z]VC运行库版本不同导致链接.LIB静态库时发生重复定义

vs2010+qt4编译出现error LNK2001: 无法解析的外部符号 "public: virtual struct QMetaObject等错误

1.当vs2010编译qt时会出现以下错误: 1>------ 已启动全部重新生成: 项目: MyDialog, 配置: Debug Win32 ------ 1>生成启动时间为 2015/9/9 14:57:04. 1>InitializeBuildStatus: 1>  正在创建"Debug\MyDialog.unsuccessfulbuild",因为已指定"AlwaysCreate". 1>CustomBuild: 1>