fatal error LNK1120: xxxx unresolved externals

fatal error LNK1120: 1 unresolved externals Debug/11.exe : fatal error LNK1120: 1 unresolved externals解决办法: 这是调用动态库出现的问题,分两类。第一类是本工程的编译环境设置问题,另一类是库文件出问题。 libcmtd.lib(crt0.obj) : error LNK2001: unresolved external symbol _main Windows项目要使用Win... 阅读详情

场景:
A项目Library,编译环境VS2008+DDKWarizd, 编译平台WIN7XP;
B项目驱动, 编译环境VS2008,编译平台Rlease32位,DDK版本相同,都是7.0

在B项目集成A项目的32位LIB库时,出现此错误,看错误很常见的找不到符号函数的实现代码,实际是DDK7.0 BUILD环境隐藏的bug;

2>Compiling resources...
2>Microsoft (R) Windows (R) Resource Compiler Version 6.1.6723.1
2>Copyright (C) Microsoft Corporation.  All rights reserved.
2>Linking...
2>xxxx.lib(xxxx.obj) : error LNK2001: unresolved external symbol __SEH_epilog4_GS
2>xxxx.lib(xxxx.obj) : error LNK2001: unresolved external symbol __SEH_epilog4_GS
2>xxxx.lib(xxxx.obj) : error LNK2001: unresolved external symbol __except_handler4
2>
2>fatal error LNK1120:  unresolved externals
2>xxxx - 18 error(s), 1 warning(s)
========== Rebuild All: 1 succeeded, 1 failed, 0 skipped ==========

因为A项目是通过DDKWarizd生成的驱动LIB,顺着ddkbuild.cmd脚本跟踪到,最终调用的是DDK目录下面的bin\setenv.bat文件,在文件中有这么一句条件判断,如果编译的平台是WinXP则不会设置BUFFER_OVERFLOW_CHECKS这个环境变量,这个变量也可以用来控制编译器的GS开关;
在这里插入图片描述

A项目的source文件中没有定义任何编译器选项,但默认GS是开启的,尽管目标平台选择的是WinXP;

最好只能在source中增加一行,来关闭GS功能
USER_C_FLAGS=/GS-

随后编译的A项目LIB中没有引用GS相关函数了,B项目也可以顺利编译成功;

解决方案如下:

  • 在B项目中修改ntoskrnl.lib引用平台,改为DDK安装目录\lib\win7\i386,因为这个版本才导出GS相关符号
  • 在A项目中关闭GS功能,因为A、B项目32位环境都引用的DDK\lib\wxp\i386下的nt内核,两个项目都需要关闭GS保护,由于A项目使用方DDKWarizd生成,需要在sources文件中定义编译器选项USER_C_FLAGS=/GS-来关闭GS;
从零到一:Firefly-RK3399上的Ubuntu镜像构建与GPU加速实战 本文详细介绍了在Firefly-RK3399开发板上从零构建深度优化的Ubuntu系统镜像的全过程,包括交叉编译环境配置、内核定制、GPU加速环境部署(Mesa Panfrost驱动、OpenCL/Vulkan支持)以及深度学习推理优化(TFLite + LinuxNN)。通过实战案例展示了如何充分发挥Mali-T860 GPU的硬件潜力,提升边缘AI应用的性能和能效。 阅读详情

相关推荐

Research Proposal:自动驾驶 行人运动预测

Research Proposal about Pedestrian/Cyclist Motion Prediction for Self-Driving Vehicles   If I can be provided with the opportunity to conduct PhD research in pedestrian/cyclist motion prediction for...

Poetry Wanderer的博客 3087

fatal error LNK1120: 1 个无法解析的外部命令 的解决办法

question: vs2012编c程序的时候,出现了fatal error LNK1120: 1 个无法解析的外部命令 但是编译的时候是没有任何问题的 Answer: 没有写主函数,所以你能进行编译的时候通过,而进行最终ctrl+f5的时候会出现这个问题。 参考了百度的结果,受到的启发(侵删) 如果按照我这样做,没有解决,可以看下边的这个答案 这个问题的原因是有头文件,但是找不到实现。 有两个原因:1.只包含了头文件,只有这个函数的声明,没有包含这个函数的实现(实现一般放在cpp文件中的)。所以只

高欣的博客 2万+

cocos2dx lua + protobuf

vs 2015 cocos2dx 3.10  lua  protobuf1. 下载 protobuf 源码     https://github.com/bnnswyp/protobuf/tree/master/protobuf-2.5.0    解压后的文件列表如下所示         其中 vsprojects 文件夹为 protobuf 的vs 工程2. 打开 protobuf.sln 编译...

u014486706的博客 2163

error LNK1120: 1 个无法解析的外部命令。

3.代码中只含有头文件,把函数声明和实现都放在了头文件(.h)文件中,一般声明放在.h文件,实现放在同名的.cpp文件中。这种情况一般会通过编译,但是在链接的时候会报错误。2.代码含有头文件,但是找不到你头文件中的函数的实现。1.main函数写错:写成mian等。

qq_39921135的博客 3487

地震勘探中的频谱分析:从基础到应用

本文深入探讨了地震勘探中的频谱分析技术,从基础原理到实际应用。通过傅里叶变换等工具,频谱分析能有效识别不同地震波的频率特征,指导数据采集和处理。文章结合油田勘探案例,展示了如何利用振幅谱和相位谱提升信噪比,并介绍了智能滤波等前沿技术在地震数据处理中的应用。

weixin_42557830的博客 406

在VM虚拟机的MobaXterm下安装JDK17

本文介绍了在Linux系统下安装配置JDK17的完整步骤:1)从Oracle或OpenJDK官网下载Linux版JDK17压缩包;2)上传至/usr/local目录;3)解压安装包;4)通过编辑/etc/profile文件配置环境变量,添加JAVA_HOME和PATH路径;5)使用source命令使配置生效;6)通过javac -version验证安装是否成功。整个过程涵盖了从下载到环境配置的完整流程,确保Java开发环境正确设置。

qq_2937655951的博客 442

错误 LNK1120

错误 LNK1120 为您提供该链接的无法解析的外部对象数 (number)。导致无法解析的外部对象的条件由错误 LNK2001 描述,此错误出现在该错误信息之前(对每个无法解析的外部对象都出现一次)。 //就是说每出现一次LNK1120都会在之前出现一个LNK2001 所以主要是解决LNK1120关键是要解决链接器工具错误 LNK2001 这分一下的情况(来自VS 2008的帮助),在这

持续学习,刻意练习 4614

全国职业院校技能大赛-大数据应用赛项-数据挖掘-01

-----------------------推荐Top5结果如下--------------------------------------------第一条数据前10列结果展示为:----------------------------------------相同种类前10的id结果展示为:--------------------相似度top5(商品id:14,平均相似度:0.522356)相似度top1(商品id:1,平均相似度:0.983456)若属于该spu_id,则内容为1否则为0。

Eternity_04的博客 1953

c语言中1120是什么错误,C++编译常见问题汇总(二)fatal error LNK1120 错误

(二)、fatal error LNK1120 错误这是工程的类型选择错误引起的。如在VC中,1.本来应该选择"Win32ConsoleApplication",而错误选择了"Win32Application"。2.使用了MFC的类,而选择"工程"的"设置"不使用MFC库编译。改正的方法有:1.选择"工程"->"设置"->连接,在底部的编辑窗口中,找到"/subsyste...

weixin_29973493的博客 7026

基于ESP32的智能健康监测系统开发

本文介绍了如何基于ESP32开发智能健康监测系统,从硬件选型、系统架构到软件实现的每一个环节。通过ESP32的Wi-Fi功能、传感器模块和云平台的结合,我们实现了实时健康数据监测、远程查看、报警等功能。系统的低功耗特性使得其适用于长期健康监测,能够为用户提供更便捷的健康管理方案。随着技术的不断发展,未来智能健康监测系统将进一步发展。例如,增加更多的传感器,提升数据分析能力,甚至通过人工智能算法来预测用户的健康趋势,为用户提供个性化的健康建议。

2201_76125393的博客 1104

电子科技大学计算机预推免(最终去向)

电子科技大学,预推免报名时必须要有一封本校老师写的推荐信,推荐信基本上就是复试的入场券,所以一定要提前联系老师,拿到推荐信。只要有机会进了面试,我觉得老师对于双非并不歧视,面试的个人表现才是关键性决定因素,技巧性也是很强的,如果有需要帮助的,欢迎私信~~

D1379951481的博客 3366

出现fatal error LNK1120: 1 unresolved externals的原因

Error        5        error LNK1120: 3 unresolved externals        D:\Code\simpleTest-mqo\Debug\simpleTest-mqo.exe        1        1        simpleTest-mqo Error        4        error LNK2019: unres

todayq的专栏 1万+

华为OD机试真题-国际移动用户识别码(IMSI)匹配

华为OD机试双机位C卷 国际移动用户识别码(IMSI)匹配 , 提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解。华为OD机试 - 国际移动用户识别码(IMSI)匹配

qq_45776114的博客 4925

lnk1120如何解决_fatal error LNK1120: 6 unresolved externals问题怎么解决?

1. 头文件:TextQuery.h代码如下:#ifndef TEXTQUERY_H#define TEXTQUERY_H#include #include #include #include #include #include #include using namespace std;class TextQuery{public://类型别名typedef string::size_type s...

weixin_36048031的博客 1374

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

fatal error LNK1120: 2 unresolved externals解决办法

程序设计到多线程,VC++6.0默认设置可作以下修改: project->settings->C/C++->Category中选Code Generation->Use Run-time Library选Debug MultiThreaded或MultiThreaded 在创建MFC项目时, 不使用MFC AppWizard向导, 如果没有设置好项目参数, 就会在编译时产生很多连接

vip4677的专栏 3862

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

fatal error LNK1120_ 3 unresolved externals

既然Visual Studio中可以正常使用,那么把它的环境变量拿过来,自己的命令行中也可以正常使用。这些符号或函数引用是在 LIBCMT.lib 库文件中定义的,将其添加到。结尾添加上分号直接粘贴到include环境变量中。把Visual Studio中的环境变量拿过来。,而没有将对应的lib文件路径加入到工程中。lib目录也采用这种方式来进行查找复制和粘贴。CMT.lib找不到了,也可以正常编译了。编辑好的lib环境变量。手动指定lib库的位置。很可能是工程中引用了。

u014723479的博客 1250

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

解决 fatal error LNK1120: 1 unresolved externals 问题

Bug: fatal error LNK1120: 1 unresolved externals 开发环境: Microsoft Visual C++ 6.0 测试项目的时候遇到的问题,原因是,声明了函数但是找不到定义的代码块。 检查一下声明函数的模块和定义函数的模块就好了。 ...

BeJav 5120

fatal error LNK1120: 3 unresolved externals错误处理

用vs2005写c++项目,定义了AList类,在AList.h中写了类定义,有3个函数不是inline的,定义写在了AList.cpp中。但每次编译项目,那3个函数便报错DataStruct.obj : error LNK2001: unresolved external symbol "public: virtual bool __thiscall AList::insert(int co

岳麓听雨专栏 1万+

fatal error LNK1120: 2 unresolved externals及主函数调用外部函数

主函数中调用外部文件定义的函数,两种方法: 第一种: htest.cpp: #include "stdafx.h" #include "stdio.h" extern void b(void); extern void c(void); int main(int argc, char* argv[]) { printf("Welcome to main.\n"); b();

Embedded Travel 4672

c/c++出现:fatal error LNK 1120:1 unresolved externals

以前的运行的c程序今天报以下错误: error LNK2001: unresolved external symbol _WinMain@16 debug/main.exe:fatal error LNK 1120:1 unresolved externals   解决方法: 1.进入工程->设置->c/c++, 在分类中选择预处理器,在预处理器定义中删除_WINDOWS,并添加_CO

andQ的博客 4712

[C++]VC 6.0 fatal error LNK1120: 1 unresolved externals

[C++]VC 6.0 fatal error LNK1120: 1 unresolved externals 在project -> settings -> link -> project options里,把project设置中的/subsys...

aezympxj84131的博客 1247

error LNK2001: unresolved external symbol _WinMain@16 和 fatal error LNK1120: 1 unresolved externals错误

Win32 Application和Win32 Console Application都是工作在32位Windows环境的程序。其中Win32 Application就是普通的常见的窗口应用程序,当然有的界面做得比较个性化,比如圆形的、不规则形状的……它们都是所谓的GUI(Graphics User Interface图形用户接口),我们可以通过鼠标点击来完成控制。而Win32 Console A

AbnormalCoder的专栏 2037

vc 6.0 中 error LNK2001: unresolved external symbol _main和fatal error LNK1120: 1 unresolved externals的解决

今天编程 windows应用程序 一直调试到最后出现了   LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main      Debug/Point.exe : fatal error LNK1120: 1 unresolved externals的错误,不知道是为什么,自己弄不明白,就百度 百度上的高手是很多,

haibianfeng的专栏 1914
上一篇: fatal error C1001: An internal error has occurred in the compiler
下一篇: RtlUpcaseUnicodeString转换大写后,Buffer丢失NULL结束符,传入垃圾字符
FFE4
博客等级 码龄9年 234粉丝 166原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值