VS2010编译报错:1 个无法解析的外部命令错误

vs2010 编译mosquitto win32版本,开启websockets,实现消息推送 前言:因为之前没有怎么碰vs,只搞过cygwin,而cygwin上搞了好久都搞不定,以至于重新整理思路,这window上的版本应该怎么去编译。一直不知道怎么搞,只能边看其他教程,边自己搞着,连续几天下了班就可以研究编译,特别是在开启websockets的时候,加上libwebsockets库,对于小白来说,特别痛苦。也罢,最后也成功编译。编译的电脑:MacBook Pro 虚拟机win7,64bit 阅读详情

通常出现这种无法解析的命令,网上查找大多数说的都是:链接出错
分析原因:

要么是lib文件没有配置对,要么就是代码里面声明与定义不一致(声明了没有定义,定义了却没有声明,这都会导致编译器在编译链接的时候找不到对应的文件而出错)

原因1:只包含了头文件,只有这个函数的声明,没有包含这个函数的实现(实现一般放在cpp文件中的)。所以只能通过编译,连接不成功。
原因2:另一个原因是函数的声明和实现都放在头文件中了,一般要把声明放头文件中,实现放在cpp文件中。这样每个#include该头文件的文件都会有一份该函数的实现,连接的时候,连接器不知道连接哪一个实现,于是报错。

网上查找的具体做法无外乎:
方法一:
VC6:

工程、设置、C/C++、分类:Preprocessor、附加包含路径:填写附加头文件所在目录 逗号间隔多项
工程、设置、Link、分类:Input、附加库路径:填写附加依赖库所在目录 分号间隔多项
工程、设置、Link、分类:Input、对象/库模块:填写附加依赖库的名字.lib 空格间隔多项

VS:

项目、属性、C/C++、附加包含目录:填写附加头文件所在目录 分号间隔多项
项目、属性、链接器、常规、附加库目录:填写附加依赖库所在目录 分号间隔多项
项目、属性、链接器、输入、附加依赖项:填写附加依赖库的名字.lib 空格或分号间隔多项

方法二:
就是在.cpp文件里面直接加上一句:

#pragma comment(lib,"xxxxx.lib")

但是我想说的是:我按照上面的方法都把我需要的静态库添加上去了,但是还是报错。

错误	1	error LNK2019: 无法解析的外部符号 "public: bool __thiscall CxImage::Load(wchar_t const *,unsigned int)" (?Load@CxImage@@QAE_NPB_WI@Z),该符号在函数 "unsigned int * __cdecl Make_2BPP_Bitmap(wchar_t const *)" (?Make_2BPP_Bitmap@@YAPAIPB_W@Z) 中被引用	E:\XD\2_project\6_191\191\emp191prt\emp191prt\Bitmaps.obj
错误	2	error LNK1120: 1 个无法解析的外部命令	E:\XD\2_project\6_191\191\emp191prt\Debug\emp191prt.dll	1

一直以来,我以为出现这种无法解析的外部命令都是链接出错,没有仔细看错误的内容,最后经过查找才发现我连接的静态库的文件是多字节的,但是这里是宽字节
在这里插入图片描述
直接进入,项目属性那里将字符集改为多字节即可。
在这里插入图片描述

Windows10下以VS2010+IVF为编译器的Fortran的MPI配置 Windows10下以VS2010+IVF为编译器的Fortran的MPI配置 第一次在优快云上写东西,很开心认识大家呀。 之前为了配置win10下的fortran的MPI的环境费了不少功夫,试了mpich和msmpi各种方法都报错,各个版本的都试了,但是还没解决问题,后来翻墙才找到了一种方法,非常简单,给大家分享一下。 首先要注意版本问题,不然可能各个版本不兼容,我所使用的是VS2010和IV... 阅读详情

相关推荐

vs2010 LibModbus库Windows版本的编译

(在“类型”的前面)1>..\modbus.c(1384): error C2143: 语法错误 : 缺少“)”(在“类型”的前面)1>..\modbus.c(1384): warning C4018: “<”: 有符号/无符号不匹配。1>..\modbus.c(1384): error C2065: “i”: 未声明的标识符。1>..\modbus.c(1384): error C2065: “i”: 未声明的标识符。1>..\modbus.c(1384): error C2059: 语法错误:“)”

谢谢大家的关注和点赞!这里只有纯纯的知识干货,没有一句废话。希望能实实在在帮到大家~要是觉得有用,别忘了给我点支持哟,你 745

VS中无法解析的外部命令的解决办法

VS中无法解析的外部命令的解决办法 报错LNK2005外部符号 报错LNK2019外部符号 报错LNK1120外部符号

大模型天花板 2万+

VS2010+64+OSG3.2.1之三Plugins gif编译

,本章总结一下Plugins gif的编译,刚开始编译时,错误如下: 这种问题一般是lib引起的问题,打开Plugins gif的链接器的附加依赖项,发现Cmake生成时,把3rdParty\lib\giflib.lib作为依赖项,分析一下,应该是giflib.lib版本有问题,用dumpbin看了一下,版本是X86版本,而我们的编译环境是X64。问题应该是版本引起的。  那么问题解决

nuaaqsm0915的专栏 2635

关于“无法解析外部命令”的几个常见原因

这次接手的项目中生成后遇到了类似问题,经过参考排查发现外部C++文件中extern声明的函数类型与原定义的函数类型不一致。但由于报错实在奇怪,我也是第一次遇到这种问题,花了整整两天才将问题解决掉。由于参考的一篇博客虽然简单,但对于问题排查十分有用,就转载过来,原文链接是:无法解析的外部符号_玩世不恭_新浪博客 以下为原文: 无法解析的外部符号的情况发生原因: 1,没有加入相应lib库文...

Mannersmakethman的博客 5775

MeshLab源码编译 vs2010+win7 64bit

为了能够方便的使用meshlab的源码,今天特意编辑了一下mesh源码 1.源码bian

yannwpu的专栏 1万+

vs2017调用vs2010编译的libjpeg库报错解决

1、当然最好的办法是我们用vs2017编译我们自己的libjpeg库。 2、如果我们使用vs2017调用vs2010编译的libjpeg库,配置好相关的库目录和包含目录后,会出现如下错误: 1>jpeg.lib(jerror.obj) : error LNK2001: 无法解析的外部符号 __imp_sprintf 1>jpeg.lib(jerror.obj) : error L...

小米的修行之路 1372

一个无法解析的外部命令,保姆级别演示

出现无法解析的外部命令,无非就是两种情况,第一种情况就是你只包含了头文件,但是源文件没有包含进去;第二种情况就是当前项目没有把接口文件的静态文件和目录包含进去,那么接下来就教你如何把lib文件包含在当前项目中。

小石_coding 8249

vs报错“错误 LNK2019 无法解析的外部符号”的几种原因及解决方案

  运行vs程序的时候,报错严重性 代码 说明 项目 文件 行 禁止显示状态 错误 LNK2019 无法解析的外部符号 "__declspec(dllimport) public: void __cdecl PointCloudFilter::setptClouds(struct LAS_POINT *)" (__imp_?setptClouds@PointCloudFilter@@QEAAXPEAULAS_POINT@@@Z),该符号在函数 "private: void __cdecl PointClou

zeeq的博客 36万+

Poco vs2010编译正常,vs2015编译报错“无法解析的外部符号“

编译错误分析与解决方案 摘要:在编译Poco库1.4.6p2版本时出现LNK2019链接错误,提示无法解析StringTokenizer类的begin()和end()方法。错误原因是该旧版本不支持VS2012以上编译器的C++11特性。解决方案建议升级到兼容性更好的Poco 1.9.0版本,该版本已支持VS2017。文末提供了多种编程语言的"Hello World"示例代码,包括C++、Python、Go和C#的实现方式。

学无止尽,谨言慎行! 1227

SAP开发实战:用FI_DOCUMENT_CHANGE BAPI批量修改FB03凭证抬头和行项目文本(附完整ABAP代码)

本文详细介绍了如何使用SAP的FI_DOCUMENT_CHANGE BAPI批量修改FB03凭证抬头和行项目文本,提供完整的ABAP代码实现方案。通过该BAPI,开发者可以高效完成财务凭证的批量修改,确保数据一致性和审计合规性,显著提升SAP财务模块的运维效率。

weixin_29224589的博客 380

STM32CubeMX的正交编码器encoder

由于最近干活遇到需要获取正交编码的功能,所以返回来研究一下STM32CubeMX的编码器功能,之前也更新过STM32的定时器功能,但是因为之前搞平衡车的正交编码器没有搞清楚原理,就直接用了脉冲输入功能草草了事,现在也算是为之前的年轻买单了,不过看到现有的Encoder说明都比较简单,所以就当是为开发者做贡献了,我研究清楚之后来一篇博客。

ASWaterbenben的博客 1万+

gmssl vs2010编译

gmssl vs2010编译图文流程

yanchenyu365的博客 1378

51单片机-点亮LED和蜂鸣器

ULN2003是高耐压、大电流达林顿陈列,由七个硅NPN达林顿管组成。ULN2003是大电流驱动陈列,多用于单片机、只能仪表、PLC、数字量输出卡等控制电路中。可直接驱动蜂鸣器、继电器等负载。void delay(u16 i) // i等于1大约10uswhile(i--);//取反,高低电平不断变化,产生脉冲delay(10);// 周期200us。

三日沐水 1126

vs2010下编译使用hiredisV1.2.0版本

hiredis中含有C99语法,VS2010并不支持,vs2010只支持redis2.6版本的编译,为了VS2010支持redis3.2的使用,需要生成VS2010支持编译的hiredis.lib

qq_45568554的博客 1239

C语言—for循环打印矩形,正三角形,倒三角形,九九乘法,等腰三角形,倒着的等腰三角形(简易版代码)(重点考察for循环嵌套)

本章节教大家如何利用for循环打印正三角形,倒三角形,九九乘法表及等腰三角形(简易版代码)说明:1、循环语句的循环体内又包含另一个完整的循环结构,称为循环结构的嵌套。内嵌的循环语句中还可以再嵌套循环结构,这样就形成多重循环结构的嵌套。2、for 语句、while 语句和 do-while 语句都允许嵌套。三种循环语句可以相互嵌套。3、内层的循环语句必须完全被包含在外层的循环体中,不能发生交叉。

m0_63501145的博客 1695

Python + DeepSeek 完美结合:本地部署提效指南

随着生成式 AI 和深度学习技术的快速发展,如何将智能搜索工具与本地部署结合以提升效率成为了许多企业和开发者关注的重点。DeepSeek 是一款开源的智能搜索框架,结合 Python 的灵活性,能够实现高效、可靠的本地部署方案。本文将介绍如何通过 Python 和 DeepSeek 的完美结合,实现本地化部署并提升工作效率。通过将 Python 与 DeepSeek 结合,可以快速实现语义搜索的本地化部署,确保数据安全的同时提升工作效率。文件可直接作为 DeepSeek 的输入数据。

weixin_44872675的博客 1万+

【Error】安装VS2012后VS2010工程失败

安装VS2012后遇到的问题 悲剧的种子是在上个月初种下的。。。9月份微软发布了Visual Studio2012(发布会),我是个对各种“新版本”极有偏好的人,一看到新闻就立刻下载了VS2012 Pro版,花了几个小时安在原本装有VS08,VS10版本的电脑上。装下来之后体验还是挺不错的,启动速度感觉比10快了许多,而且代码的智能提示也很给力,不需要Visual Assist 之类的插件就能高

小魏的修行路 2万+

【Oracle数据库】Oracle11g数据库下载与安装教程(超详细安装图解)

Oracle11g是Oracle公司出的一个比较轻量版的数据库,这里重点说一下在window系统上如何安装Oracle11g, Oracle11g是很早之前的安装包,win7 系统安装时不会遇到环境不满足最低要求的提示,win11系统安装时会提醒环境不满足,修改配置文件即可(注意:先安装oracle服务端/oracle客户端,再安装第三方工具(PL/ SQL Developer,DBeaver等)服务器端环境概述:ORACLE数据库版本:Oracle 11g 64位(11.2.0)

qq_34463511的博客 1万+

vs2010 编译mosquitto win32版本

编译电脑:win7,64bit,8G的内存 参考:http://www.mamicode.com/info-detail-636110.html1.下载安装 vs20102.源码/编译工具/环境库mosquitto http://mosquitto.org/download/ mosquitto-1.4.4.tar.gz cmake http://www.cmake.org/download/

善良的饲养员的专栏 4567

【虚幻引擎UE】UE5 可编辑动态样条线轨迹及AI跟随路径移动(含工程源码)

【虚幻引擎UE】可编辑动态样条线轨迹及AI跟随路径移动

灵境引路人 6226

Open3D 机载点云电力线提取【2025最新版】

传统方法实现的机载点云电力线分割提取。博客长期更新,本文最新更新时间为:2025年3月23日。

点云侠的博客 4468

ArcGIS10.2在VS2010/VS2012/VS2013 下进行二次开发及编译出错解决

平台:VS2010、VS2012、VS2013 + ArcGIS 10.2 + Win7 64bit 使用ArcGIS10.2结合MFC进行二次开发,编译出错。 首先配置工程,在工程上右键->属性->c/c++->常规->附加包含目录,添加如下,为本文中Engine、DeveloperKit、C:\Program Files (x86)\Common Files\ArcGI

RomeoLikeJuliet的博客 6815

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

OpenTLD源码生成VS2010工程和编译过程

OpenTLD算法是做什么的,我就不多介绍了,很多人前辈都介绍过了。我参考的博客有 庖丁解牛TLD(五)——井底之蛙啦~ OpenTLD C++ 尝试车辆目标跟踪[1] 看了这个挺好玩的,就打算自己编译一下跑跑看。 我的环境是win7 + vs2010 原来装了个opencv2.3.1(也是网上下载的,不是那种自己编译安装的,所以少了一些工程文件,这个让我在编译OpenTLD的

TradingAgents-CN专栏 1万+

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

vs2010编译openjdk1.8源码

参考资料: https://blog.youkuaiyun.com/lpwstr/article/details/78840188 http://www.cnblogs.com/lighten/p/5906359.html https://blog.youkuaiyun.com/a510835147/article/details/73011498 vs2015与vs2010语法不一样,如果需要用vs2015编译...

三月泡生长在阳春三月天,把鲜红的美味奉献给世人 923

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

vs2010、vs2015 编译报错:error MSB6006: “CL.exe”已退出,代码为 -1073741515

相同的代码,之前能够编译正常,移动到其他电脑,本次是移动到一台win7虚拟机上,编译(新装系统),出现上述问题。3、继续使用everything查找对应报错文件,找到后,从。2、然后双击cl.exe,会出现提示报错。

学无止尽,谨言慎行! 4312

VS2008升级到VS2010后编译问题

把VS2008升级到VS2010后编译会出现错误提示:1>------ Build started: Project: Fig.3.5, Configuration: Debug Win32 ------1>Build started 2011/4/2 12:38:54.1>InitializeBuildStatus:1>  Creating "Debug/Fig.3.5.unsuccessfulbuild" because "AlwaysCreate" was specified.1>ClCompile:

Sean's Technology Blog 2351
上一篇: VS2010 打开项目头文件崩溃问题解决
下一篇: cximage函数总结
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值