error LNK2019: 无法解析的外部符号 ___ucl_init2;error LNK2019: 无法解析的外部符号 _ucl_version

2024-02-29 12:38

本文主要是介绍error LNK2019: 无法解析的外部符号 ___ucl_init2;error LNK2019: 无法解析的外部符号 _ucl_version,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


转自VC错误:http://www.vcerror.com/?p=1411

问题描述:

把upx源码的exe工程改造成了一个lib库文件,编译的了一个exe调用lib库文件中的函数,结果exe编译出现如以下错误

1>—— 已启动生成: 项目: upxlibExe, 配置: Debug Win32 ——

1>  upxlibExe.cpp

1>upxlib.lib(main.obj) : error LNK2019: 无法解析的外部符号 ___ucl_init2,该符号在函数 _main 中被引用
1>upxlib.lib(main.obj) : error LNK2019: 无法解析的外部符号 _ucl_version,该符号在函数 _main 中被引用
1>upxlib.lib(compressS.obj) : error LNK2019: 无法解析的外部符号 _ucl_adler32,该符号在函数 “unsigned int __cdecl upx_adler32(void const *,unsigned int,unsigned int)” (?upx_adler32@@YAIPBXII@Z) 中被引用
1>upxlib.lib(compress_ucl.obj) : error LNK2019: 无法解析的外部符号 _ucl_version_string,该符号在函数 “char const * __cdecl upx_ucl_version_string(void)” (?upx_ucl_version_string@@YAPBDXZ) 中被引用
1>upxlib.lib(compress_ucl.obj) : error LNK2019: 无法解析的外部符号 _ucl_nrv2b_99_compress,该符号在函数 “int __cdecl upx_ucl_compress(unsigned char const *,unsigned int,unsigned char *,unsigned int *,struct upx_callback_t *,int,int,struct upx_compress_config_t const *,struct upx_compress_result_t *)” (?upx_ucl_compress@@YAHPBEIPAEPAIPAUupx_callback_t@@HHPBUupx_compress_config_t@@PAUupx_compress_result_t@@@Z) 中被引用
1>upxlib.lib(compress_ucl.obj) : error LNK2019: 无法解析的外部符号 _ucl_nrv2d_99_compress,该符号在函数 “int __cdecl upx_ucl_compress(unsigned char const *,unsigned int,unsigned char *,unsigned int *,struct upx_callback_t *,int,int,struct upx_compress_config_t const *,struct upx_compress_result_t *)” (?upx_ucl_compress@@YAHPBEIPAEPAIPAUupx_callback_t@@HHPBUupx_compress_config_t@@PAUupx_compress_result_t@@@Z) 中被引用
1>upxlib.lib(compress_ucl.obj) : error LNK2019: 无法解析的外部符号 _ucl_nrv2e_99_compress,该符号在函数 “int __cdecl upx_ucl_compress(unsigned char const *,unsigned int,unsigned char *,unsigned int *,struct upx_callback_t *,int,int,struct upx_compress_config_t const *,struct upx_compress_result_t *)” (?upx_ucl_compress@@YAHPBEIPAEPAIPAUupx_callback_t@@HHPBUupx_compress_config_t@@PAUupx_compress_result_t@@@Z) 中被引用
1>upxlib.lib(compress_ucl.obj) : error LNK2019: 无法解析的外部符号 _ucl_nrv2b_test_overlap_8,该符号在函数 “int __cdecl upx_ucl_test_overlap(unsigned char const *,unsigned char const *,unsigned int,unsigned int,unsigned int *,int,struct upx_compress_result_t const *)” (?upx_ucl_test_overlap@@YAHPBE0IIPAIHPBUupx_compress_result_t@@@Z) 中被引用
1>upxlib.lib(compress_ucl.obj) : error LNK2019: 无法解析的外部符号 _ucl_nrv2b_test_overlap_le16,该符号在函数 “int __cdecl upx_ucl_test_overlap(unsigned char const *,unsigned char const *,unsigned int,unsigned int,unsigned int *,int,struct upx_compress_result_t const *)” (?upx_ucl_test_overlap@@YAHPBE0IIPAIHPBUupx_compress_result_t@@@Z) 中被引用
1>upxlib.lib(compress_ucl.obj) : error LNK2019: 无法解析的外部符号 _ucl_nrv2b_test_overlap_le32,该符号在函数 “int __cdecl upx_ucl_test_overlap(unsigned char const *,unsigned char const *,unsigned int,unsigned int,unsigned int *,int,struct upx_compress_result_t const *)” (?upx_ucl_test_overlap@@YAHPBE0IIPAIHPBUupx_compress_result_t@@@Z) 中被引用
1>upxlib.lib(compress_ucl.obj) : error LNK2019: 无法解析的外部符号 _ucl_nrv2d_test_overlap_8,该符号在函数 “int __cdecl upx_ucl_test_overlap(unsigned char const *,unsigned char const *,unsigned int,unsigned int,unsigned int *,int,struct upx_compress_result_t const *)” (?upx_ucl_test_overlap@@YAHPBE0IIPAIHPBUupx_compress_result_t@@@Z) 中被引用
1>upxlib.lib(compress_ucl.obj) : error LNK2019: 无法解析的外部符号 _ucl_nrv2d_test_overlap_le16,该符号在函数 “int __cdecl upx_ucl_test_overlap(unsigned char const *,unsigned char const *,unsigned int,unsigned int,unsigned int *,int,struct upx_compress_result_t const *)” (?upx_ucl_test_overlap@@YAHPBE0IIPAIHPBUupx_compress_result_t@@@Z) 中被引用
1>upxlib.lib(compress_ucl.obj) : error LNK2019: 无法解析的外部符号 _ucl_nrv2d_test_overlap_le32,该符号在函数 “int __cdecl upx_ucl_test_overlap(unsigned char const *,unsigned char const *,unsigned int,unsigned int,unsigned int *,int,struct upx_compress_result_t const *)” (?upx_ucl_test_overlap@@YAHPBE0IIPAIHPBUupx_compress_result_t@@@Z) 中被引用
1>upxlib.lib(compress_ucl.obj) : error LNK2019: 无法解析的外部符号 _ucl_nrv2e_test_overlap_8,该符号在函数 “int __cdecl upx_ucl_test_overlap(unsigned char const *,unsigned char const *,unsigned int,unsigned int,unsigned int *,int,struct upx_compress_result_t const *)” (?upx_ucl_test_overlap@@YAHPBE0IIPAIHPBUupx_compress_result_t@@@Z) 中被引用
1>upxlib.lib(compress_ucl.obj) : error LNK2019: 无法解析的外部符号 _ucl_nrv2e_test_overlap_le16,该符号在函数 “int __cdecl upx_ucl_test_overlap(unsigned char const *,unsigned char const *,unsigned int,unsigned int,unsigned int *,int,struct upx_compress_result_t const *)” (?upx_ucl_test_overlap@@YAHPBE0IIPAIHPBUupx_compress_result_t@@@Z) 中被引用
1>upxlib.lib(compress_ucl.obj) : error LNK2019: 无法解析的外部符号 _ucl_nrv2e_test_overlap_le32,该符号在函数 “int __cdecl upx_ucl_test_overlap(unsigned char const *,unsigned char const *,unsigned int,unsigned int,unsigned int *,int,struct upx_compress_result_t const *)” (?upx_ucl_test_overlap@@YAHPBE0IIPAIHPBUupx_compress_result_t@@@Z) 中被引用
1>upxlib.lib(compress_ucl.obj) : error LNK2019: 无法解析的外部符号 _ucl_nrv2b_decompress_asm_safe_8,该符号在函数 “int __cdecl upx_ucl_decompress(unsigned char const *,unsigned int,unsigned char *,unsigned int *,int,struct upx_compress_result_t const *)” (?upx_ucl_decompress@@YAHPBEIPAEPAIHPBUupx_compress_result_t@@@Z) 中被引用
1>upxlib.lib(compress_ucl.obj) : error LNK2019: 无法解析的外部符号 _ucl_nrv2b_decompress_asm_safe_le16,该符号在函数 “int __cdecl upx_ucl_decompress(unsigned char const *,unsigned int,unsigned char *,unsigned int *,int,struct upx_compress_result_t const *)” (?upx_ucl_decompress@@YAHPBEIPAEPAIHPBUupx_compress_result_t@@@Z) 中被引用
1>upxlib.lib(compress_ucl.obj) : error LNK2019: 无法解析的外部符号 _ucl_nrv2b_decompress_asm_safe_le32,该符号在函数 “int __cdecl upx_ucl_decompress(unsigned char const *,unsigned int,unsigned char *,unsigned int *,int,struct upx_compress_result_t const *)” (?upx_ucl_decompress@@YAHPBEIPAEPAIHPBUupx_compress_result_t@@@Z) 中被引用
1>upxlib.lib(compress_ucl.obj) : error LNK2019: 无法解析的外部符号 _ucl_nrv2d_decompress_asm_safe_8,该符号在函数 “int __cdecl upx_ucl_decompress(unsigned char const *,unsigned int,unsigned char *,unsigned int *,int,struct upx_compress_result_t const *)” (?upx_ucl_decompress@@YAHPBEIPAEPAIHPBUupx_compress_result_t@@@Z) 中被引用
1>upxlib.lib(compress_ucl.obj) : error LNK2019: 无法解析的外部符号 _ucl_nrv2d_decompress_asm_safe_le16,该符号在函数 “int __cdecl upx_ucl_decompress(unsigned char const *,unsigned int,unsigned char *,unsigned int *,int,struct upx_compress_result_t const *)” (?upx_ucl_decompress@@YAHPBEIPAEPAIHPBUupx_compress_result_t@@@Z) 中被引用
1>upxlib.lib(compress_ucl.obj) : error LNK2019: 无法解析的外部符号 _ucl_nrv2d_decompress_asm_safe_le32,该符号在函数 “int __cdecl upx_ucl_decompress(unsigned char const *,unsigned int,unsigned char *,unsigned int *,int,struct upx_compress_result_t const *)” (?upx_ucl_decompress@@YAHPBEIPAEPAIHPBUupx_compress_result_t@@@Z) 中被引用
1>upxlib.lib(compress_ucl.obj) : error LNK2019: 无法解析的外部符号 _ucl_nrv2e_decompress_asm_safe_8,该符号在函数 “int __cdecl upx_ucl_decompress(unsigned char const *,unsigned int,unsigned char *,unsigned int *,int,struct upx_compress_result_t const *)” (?upx_ucl_decompress@@YAHPBEIPAEPAIHPBUupx_compress_result_t@@@Z) 中被引用
1>upxlib.lib(compress_ucl.obj) : error LNK2019: 无法解析的外部符号 _ucl_nrv2e_decompress_asm_safe_le16,该符号在函数 “int __cdecl upx_ucl_decompress(unsigned char const *,unsigned int,unsigned char *,unsigned int *,int,struct upx_compress_result_t const *)” (?upx_ucl_decompress@@YAHPBEIPAEPAIHPBUupx_compress_result_t@@@Z) 中被引用
1>upxlib.lib(compress_ucl.obj) : error LNK2019: 无法解析的外部符号 _ucl_nrv2e_decompress_asm_safe_le32,该符号在函数 “int __cdecl upx_ucl_decompress(unsigned char const *,unsigned int,unsigned char *,unsigned int *,int,struct upx_compress_result_t const *)” (?upx_ucl_decompress@@YAHPBEIPAEPAIHPBUupx_compress_result_t@@@Z) 中被引用

解决方法:

具体的解决方法参考文章:http://www.vcerror.com/?p=1411

这篇关于error LNK2019: 无法解析的外部符号 ___ucl_init2;error LNK2019: 无法解析的外部符号 _ucl_version的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/758827

相关文章

python常见环境管理工具超全解析

《python常见环境管理工具超全解析》在Python开发中,管理多个项目及其依赖项通常是一个挑战,下面:本文主要介绍python常见环境管理工具的相关资料,文中通过代码介绍的非常详细,需要的朋友... 目录1. conda2. pip3. uvuv 工具自动创建和管理环境的特点4. setup.py5.

全面解析HTML5中Checkbox标签

《全面解析HTML5中Checkbox标签》Checkbox是HTML5中非常重要的表单元素之一,通过合理使用其属性和样式自定义方法,可以为用户提供丰富多样的交互体验,这篇文章给大家介绍HTML5中C... 在html5中,Checkbox(复选框)是一种常用的表单元素,允许用户在一组选项中选择多个项目。本

Python包管理工具核心指令uvx举例详细解析

《Python包管理工具核心指令uvx举例详细解析》:本文主要介绍Python包管理工具核心指令uvx的相关资料,uvx是uv工具链中用于临时运行Python命令行工具的高效执行器,依托Rust实... 目录一、uvx 的定位与核心功能二、uvx 的典型应用场景三、uvx 与传统工具对比四、uvx 的技术实

SpringBoot排查和解决JSON解析错误(400 Bad Request)的方法

《SpringBoot排查和解决JSON解析错误(400BadRequest)的方法》在开发SpringBootRESTfulAPI时,客户端与服务端的数据交互通常使用JSON格式,然而,JSON... 目录问题背景1. 问题描述2. 错误分析解决方案1. 手动重新输入jsON2. 使用工具清理JSON3.

Redis过期删除机制与内存淘汰策略的解析指南

《Redis过期删除机制与内存淘汰策略的解析指南》在使用Redis构建缓存系统时,很多开发者只设置了EXPIRE但却忽略了背后Redis的过期删除机制与内存淘汰策略,下面小编就来和大家详细介绍一下... 目录1、简述2、Redis http://www.chinasem.cn的过期删除策略(Key Expir

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

Oracle修改端口号之后无法启动的解决方案

《Oracle修改端口号之后无法启动的解决方案》Oracle数据库更改端口后出现监听器无法启动的问题确实较为常见,但并非必然发生,这一问题通常源于​​配置错误或环境冲突​​,而非端口修改本身,以下是系... 目录一、问题根源分析​​​二、保姆级解决方案​​​​步骤1:修正监听器配置文件 (listener.

MySQL版本问题导致项目无法启动问题的解决方案

《MySQL版本问题导致项目无法启动问题的解决方案》本文记录了一次因MySQL版本不一致导致项目启动失败的经历,详细解析了连接错误的原因,并提供了两种解决方案:调整连接字符串禁用SSL或统一MySQL... 目录本地项目启动报错报错原因:解决方案第一个:第二种:容器启动mysql的坑两种修改时区的方法:本地

Spring组件实例化扩展点之InstantiationAwareBeanPostProcessor使用场景解析

《Spring组件实例化扩展点之InstantiationAwareBeanPostProcessor使用场景解析》InstantiationAwareBeanPostProcessor是Spring... 目录一、什么是InstantiationAwareBeanPostProcessor?二、核心方法解

深入解析 Java Future 类及代码示例

《深入解析JavaFuture类及代码示例》JavaFuture是java.util.concurrent包中用于表示异步计算结果的核心接口,下面给大家介绍JavaFuture类及实例代码,感兴... 目录一、Future 类概述二、核心工作机制代码示例执行流程2. 状态机模型3. 核心方法解析行为总结:三