千家信息网

VS 编译链接错误集锦

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,1 场景在同一个解决方案中,testdemo主程序模块会调用动态链接库zlib,因此在testdemo的项目中进行如下的属性设置:链接器>输入>附加依赖项:zlib.lib链接器>常规>附加库目录:.
千家信息网最后更新 2026年11月02日VS 编译链接错误集锦

1 场景

在同一个解决方案中,testdemo主程序模块会调用动态链接库zlib,因此在testdemo的项目中进行如下的属性设置:

链接器>输入>附加依赖项:zlib.lib

链接器>常规>附加库目录:..\outputs\release\lib

在重新生成解决方案的时候,会出现如下的错误:无法打开输入文件


步骤

查看到已经生成了zlib.lib文件,并且所有的环境配置正确,然后查看完整的编译过程,发现编译的次序不正确,首先编译testdemo主程序,然后再编译zlib模块,当然会出现问题


解决

点击testdemo项目,鼠标右键选择项目依赖项,选择zlib,确保首先编译zlib,最后编译主程序


问题2:fatalerror LNK1112: 模块计算机类型"MIPS"与目标计算机类型"THUMB"冲突

参考:http://www.jb51.net/softjc/83192.html

解决方案:请选择与解决方案相同的编译平台。



问题5:CXX0017: 错误: 没有找到符号test1d.dll test2d.dll

解决方案:由于解决方案中有些模块提供的是release版本的dll,所以无法将整个工程置于debug模式


,从debug调试出错的信息中最后的d代表的是debug调试版本的dll。所以

必须在解决方案配置中选择release


问题6:项目源码非常多,如果修改一个文件代码选择重新生成解决方案大概需要花费15分钟的时间,


目前没有测试过生成解决方案是否可以减少编译和链接的时间?

解决方案:修改某个文件之后不需要重新生成解决方案,然后直接开始执行调试,自动将修改的文件重


新编译。


问题7:error LNK2001: 无法解析的外部符号 "public: virtual class CTest::TCodeEntry const *

__thiscall CTest::CTestImpl::GetItemByCode(unsignedint)" (?GetItemByCode@CTest@CTestImpl


@@UAEPBVTCodeEntry@2@I@Z) testimpl.obj

解决方案:遇到这个问题,表示在链接的过程中,没有找到真正的实现,通过半小时的查阅代码发现如

下的问题:

引用class A

在函数Func(A a)中进行了调用,在实际的过程中,A被定义为了struct结构体类,这个时候链接的过程

中,就没有办法找到class A,这一点应该注意。

在实际的过程中,务必注意真正的实现和声明是否一致,这个非常重要。


问题8:error C2259TestQuery::CtestQueryImpl :can not instantiate abstract calss

解决方案:首先了解虚基类作为接口,所有的纯虚函数必须在子类中实现,否则编译出错,然后查看当

前的编译错误提示,说明目前的虚基类无法实例化,说明有纯虚函数没有实现,通过半个小时的代码查

阅,发现是子类的函数声明和基类的函数声明参数列表不一致,说明在拷贝代码的过程中出现错误,或

者修改代码,但是基类代码没有同步

1)查看继承的基类到底有多少个,这些基类的纯虚接口是否已经实现

2)查看派生类中是否有函数携带了=0的纯虚接口

3)最好的方法是删除以前的代码,重新编写一遍,语法的错误,无法在VS中显示。


问题9:无法打开包括文件: "corecrt.h": No such file or directory

VS2013下编译jsoncpp正常,但是VS2015编译出现上面的错误,需要在包含路径中添加如下:

C:\Program Files (x86)\Windows Kits\10\Include\10.0.10150.0\ucrt


问题10:runtime error! abnormal program termination

说明:在安装VS2015的环境下,正常运行,在已有的环境,只是替换一下可执行程序,出现如上的错误,初步怀疑是某些动态库没有更新,因此重新拷贝所有的动态库,只是配置文件没有改动,暂时没有发现上面的问题


问题11:'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS

解决方式一:在调用函数的文件头部,调用预编译宏#pragma warning(disable:4996)

解决方式二:C/C++预编译器中填写_CRT_SECURE_NO_WARNINGS

可以采用strcpy_s函数,VS提供的安全拷贝函数,第二个参数指定了目标缓冲区的大小,如果源缓冲区过大,将会进行截取


编译 方案 解决方案 问题 函数 文件 错误 代码 链接 过程 生成 选择 模块 项目 主程序 动态 拷贝 接口 环境 配置 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网核心科技是什么 万易互联网科技 紫鲸互联网科技 百单互联网科技有限公司 汇久创客互联网科技 融势互联网科技 互联网科技公司有哪些 科技伦理 互联网公司 科技赋能互联网健康 贵州叶脉互联网科技有限公司所属行业 全球顶尖互联网科技公司 受益于互联网科技的高速发展 新兴科技互联网创新大赛颁奖典礼 佛山市翊博互联网络科技有限公司 互联网科技公司营业执照怎么办理 滨湖区互联网智能科技产品有哪些 无锡工业互联网科技有限公司 皮皮虾互联网科技有限公司 广州互联网高科技取餐柜 每日互联网科技新闻 金融科技与互联网金融 互联网金融公司科技 南京欣网互联网科技 广州凡科互联网科技 互联网科技公司招聘 彤创互联网科技有限公司 明优互联网科技有限公司 上海京穆互联网科技有限公司 图游互联网科技 科技互联网经济论坛
0