未解决的外部符号错误仅发生在 64 位模式中,而不是在 32 位构建中

2023-11-25

我有一个 VC++ 代码(使用 VS2008 构建),它使用了一些静态库(在编译时静态链接的 *.lib 文件)。

为了便于理解,我们将我的 EXE 代码称为“AAA.EXE”,并将 lib 文件称为“A.lib”、b.lib 等...

AAA.EXE代码和静态库代码都是使用VS2008构建的。

我发现我的“AAA.EXE”在 32 位版本中工作正常,并且当 AAA.EXE 在 64 位模式下构建时显示以下链接器错误。

当然,我已经在 64 位模式下重建了静态库,并在 AAA.EXE 中提供了 lib 路径,如下所示::“对应于 AAA.EXE -> 链接器 -> 常规/输入的项目配置属性”。

这个链接器错误确实困扰了我很长时间。任何帮助是极大的赞赏。

Logger.lib(Loggerr.obj) : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall CWTTLogger::CWTTLogger(void)" (__imp_??0CWTTLogger@@QAE@XZ)    

1>Logger.lib(Logger.obj) : error LNK2001: unresolved external symbol "__declspec(dllimport) public: virtual __thiscall CWTTLogger::~CWTTLogger(void)" (__imp_??1CWTTLogger@@UAE@XZ)    

1>Logger.lib(Logger.obj) : error LNK2001: unresolved external symbol "__declspec(dllimport) public: long __thiscall CWTTLogger::FunctionA(unsigned short *,long *)" (__imp_?FunctionA@CWTTLogger@@QAEJPAGPAJ@Z)     

1>Logger.lib(Logger.obj) : error LNK2001: unresolved external symbol "__declspec(dllimport) public: long __thiscall CWTTLogger::FunctionB(unsigned short *,long)" (__imp_?FunctionB@CWTTLogger@@QAEJPAGJ@Z)     

1>Logger.lib(Logger.obj) : error LNK2001: unresolved external symbol "__declspec(dllimport) public: long __thiscall CWTTLogger::FunctionC(unsigned short *,unsigned long,unsigned short *,long)" (__imp_?FunctionC@CWTTLogger@@QAEJPAGK0J@Z)     

1>Logger.lib(Logger.obj) : error LNK2001: unresolved external symbol "__declspec(dllimport) public: long __cdecl CWTTLogger::FunctionD(unsigned long,long,...)" (__imp_?FunctionD@CWTTLogger@@QAAJKJZZ)             

1>Logger.lib(Logger.obj) : error LNK2001: unresolved external symbol "__declspec(dllimport) public: long __thiscall CWTTLogger::FunctionE(unsigned short *,long)" (__imp_?FunctionE@CWTTLogger@@QAEJPAGJ@Z)         


1>C:\Users\User1\Documents\XYZ\Code\64bit\aaa.exe: fatal error LNK1120: 7 unresolved externals

还要添加::

I have done 2 changes in the settings to make my AAA.exe code 64-bit from 32-bit:: 1) 64-bit build

2) 64-bit build for each project in COnfiguration properties page

当然,代码兼容 32 位和 64 位。 VC2008 中的这 2 个设置更改是否完成以使 32 位 AAA.exe 代码成为 64 位构建?

通过查看另一个 stackoverflow 链接,我发现“项目配置属性 -> 链接器 -> 高级 -> 目标计算机默认为“未设置”中还有一个设置 如果我使目标机器==“MACHINEx64”,我会得到一种不同类型的错误,这是我之前遇到的::

“致命错误 LNK1112:模块机器类型‘X86’与目标冲突 机器类型“x64”

我真的不清楚是否应该将链接器选项中的“目标机器”字段设置为“未设置”或“MACHINEx64”?

如果是“是”,我需要弄清楚如何解决这个问题。


从表面上看,您只将一半的项目更改为x64剩下的留给Win32。由于您没有显示项目的依赖项,因此很难猜测这是否是一个问题...在任何情况下,为了成功编译,您必须将所有依赖项目(库)切换到 x64!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

未解决的外部符号错误仅发生在 64 位模式中,而不是在 32 位构建中 的相关文章

  • 如何在多线程C++ 17程序中交换两个指针?

    我有两个指针 pA 和 pB 它们指向两个大的哈希映射对象 当pB指向的哈希图完全更新后 我想交换pB和pA 在C 17中 如何快速且线程安全地交换它们 原子 我是 c 17 的新手 2个指针的原子无等待交换可以通过以下方式实现 inclu
  • 如何捕获未发送到 stdout 的命令行文本?

    我在项目中使用 LAME 命令行 mp3 编码器 我希望能够看到某人正在使用什么版本 如果我只执行 LAME exe 而不带参数 我会得到 例如 C LAME gt LAME exe LAME 32 bits version 3 98 2
  • GetType() 在 Type 实例上返回什么?

    我在一些调试过程中遇到了这段代码 private bool HasBaseType Type type out Type baseType Type originalType type GetType baseType GetBaseTyp
  • 在c#中执行Redis控制台命令

    我需要从 Redis 控制台获取 客户端列表 输出以在我的 C 应用程序中使用 有没有办法使用 ConnectionMultiplexer 执行该命令 或者是否有内置方法可以查找该信息 CLIENT LIST是 服务器 命令 而不是 数据库
  • 查找进程的完整路径

    我已经编写了 C 控制台应用程序 当我启动应用程序时 不使用cmd 我可以看到它列在任务管理器的进程列表中 现在我需要编写另一个应用程序 在其中我需要查找以前的应用程序是否正在运行 我知道应用程序名称和路径 所以我已将管理对象搜索器查询写入
  • JNI 将 Char* 2D 数组传递给 JAVA 代码

    我想从 C 代码通过 JNI 层传递以下指针数组 char result MAXTEST MAXRESPONSE 12 12 8 3 29 70 5 2 42 42 在java代码中我写了以下声明 public static native
  • 为什么在 WebApi 上下文中在 using 块中使用 HttpClient 是错误的?

    那么 问题是为什么在 using 块中使用 HttpClient 是错误的 但在 WebApi 上下文中呢 我一直在读这篇文章不要阻止异步代码 https blog stephencleary com 2012 07 dont block
  • 当一组凭据下的计划任务启动的进程在另一组凭据下运行另一个程序时,Windows 是否有限制

    所以我有一个简单的例子 其中我有应用程序 A 它对用户 X 本地管理员 有一些硬编码的凭据 然后它使用硬编码的绝对路径启动带有这些凭据的应用程序 B A 和 B 以及 dotnet 控制台应用程序 但是它们不与控制台交互 只是将信息写入文件
  • Python 属性和 Swig

    我正在尝试使用 swig 为一些 C 代码创建 python 绑定 我似乎遇到了一个问题 试图从我拥有的一些访问器函数创建 python 属性 方法如下 class Player public void entity Entity enti
  • 告诉 Nancy 将枚举序列化为字符串

    Nancy 默认情况下在生成 JSON 响应时将枚举序列化为整数 我需要将枚举序列化为字符串 有一种方法可以通过创建来自定义 Nancy 的 JSON 序列化JavaScript 原始转换器 https github com NancyFx
  • 类型约束

    我有以下类层次结构 class Header IEnumerable
  • IQueryable 单元或集成测试

    我有一个 Web api 并且公开了一个端点 如下所示 api 假期 name name 这是 Web api 的控制器 get 方法 public IQueryable
  • 检测到严重错误 c0000374 - C++ dll 将已分配内存的指针返回到 C#

    我有一个 c dll 它为我的主 c 应用程序提供一些功能 在这里 我尝试读取一个文件 将其加载到内存 然后返回一些信息 例如加载数据的指针和内存块的计数到 c Dll 成功将文件读取到内存 但在返回主应用程序时 程序由于堆损坏而崩溃 检测
  • 使 Guid 属性成为线程安全的

    我的一个类有一个 Guid 类型的属性 该属性可以由多个线程同时读写 我的印象是对 Guid 的读取和写入不是原子的 因此我应该锁定它们 我选择这样做 public Guid TestKey get lock testKeyLock ret
  • String.Empty 与 "" [重复]

    这个问题在这里已经有答案了 可能的重复 String Empty 和 有什么区别 https stackoverflow com questions 151472 what is the difference between string
  • 可访问性不一致:参数类型的可访问性低于方法

    我试图在两个表单之间传递一个对象 基本上是对当前登录用户的引用 目前 我在登录表单中有一些类似的内容 private ACTInterface oActInterface public void button1 Click object s
  • 我可以在“字节数”设置为零的情况下调用 memcpy() 和 memmove() 吗?

    当我实际上没有什么可以移动 复制的时候 我是否需要处理这些情况memmove memcpy 作为边缘情况 int numberOfBytes if numberOfBytes 0 memmove dest source numberOfBy
  • 如何减少具有多个单元的 PdfPTable 的内存消耗

    我正在使用 ITextSharp 创建一个 PDF 它由单个 PdfTable 组成 不幸的是 对于特定的数据集 由于创建了大量 PdfPCell 我遇到了内存不足异常 我已经分析了内存使用情况 我有近百万个单元格的 1 2 在这种情况下有
  • 灵气序列解析问题

    我在使用 Spirit Qi 2 4 编写解析器时遇到一些问题 我有一系列键值对以以下格式解析
  • OpenCV SIFT 描述符关键点半径

    我正在深入研究OpenCV的SIFT描述符提取的实现 https github com Itseez opencv blob master modules nonfree src sift cpp 我发现了一些令人费解的代码来获取兴趣点邻域

随机推荐

  • fpdf 中单元格内的背景颜色没有变化

    我使用 fpdf 为我的报告生成 pdf 文件 对此我还是新手 我想更改单元格内的填充颜色 但每当我重新加载页面时 什么也没有 hapeens 它仍然是相同的白色填充颜色 这是我的代码 我的代码有什么问题吗 我按照设置填充颜色的正确方法进行
  • QQuickWindow透明

    我将 QQmlApplicationEngine 与 QQuickWindow 一起用于应用程序 但我不能 透明的主窗口 我想在应用程序弹出之前设置启动画面 并且我使用 Window 组件 它应该是透明的 但事实并非如此 我的 main c
  • iPhone - 从视频文件中分离音频并将其保存到单独的文件中

    有谁知道是否可以将音频从视频文件 例如 h 264 编码 mpeg 或其他此类格式 中分离出来 然后将该音频数据保存到单独的文件 例如 mp3 文件 中 这涉及到iPhone SDK 任何正确方向的指示将不胜感激 谢谢 听起来像是 AVFo
  • C++ 从 URL 解析主机 IP 地址

    给定 URL 如何解析主机 IP 地址Visual C 我不确定是否有特定的 C 类来执行主机名查找 但您始终可以使用纯 C 来执行此类操作 这是我的版本 可以在 Linux Mac OS X 和 Windows 上编译和运行 includ
  • Android:添加带有展开动画的视图(不闪烁)

    我想使用扩展动画将视图添加到视图组 因此添加的视图一开始非常小 并且占用越来越多的空间 直到达到其完整大小 可能会在此过程中移动其他视图 在尝试了不同的方法之后 我想出了下面的解决方案 如果对您有帮助 请投票 或者请发布更好的替代方案 我确
  • C# 比较两个对象模型中的数据

    我有一个对话框 当生成时 它会填充对象模型中的数据 此时 数据被复制并存储在 备份 对象模型中 当用户完成更改并单击 确定 关闭对话框时 我需要一种快速方法将备份对象模型与实时对象模型进行比较 如果发生任何更改 我可以为用户创建新的撤消状态
  • GCC 不使用 inc

    海湾合作委员会编译器 gcc version gcc GCC 4 8 2 不生成inc汇编指令 它实际上可能有用 例如在这个 C 程序中 int main int argc char argv int sum 0 int i for i 0
  • Spring CrudRepository findByInventoryIds(List inventoryIdList) - 相当于 IN 子句

    在 Spring CrudRepository 中 我们是否支持字段的 IN 子句 即类似于以下内容 findByInventoryIds List
  • 为什么 C# 在实现接口时不允许继承返回类型

    下面的代码在 C 中不合法是否有任何合理的原因 class X IA IB public X test Compliation Error saying that X is not IB return this interface IA I
  • 不带参数的 goBack() 和 pop() 功能相同吗?

    来自阅读文档看起来是这样 但我想我很困惑为什么在不带参数调用 pop 时没有指出它们是可以互换的 或者为什么甚至会有两个具有如此相似行为的不同函数 并且为什么 goBack 不接受要返回的屏幕数量的参数 pop 返回堆栈 区别在于 pop特
  • 如何从命令行定义 gradle 中的 teamcity['build.number'] 属性

    有没有办法从命令行定义 teamcity build number 属性 我尝试了 Pteamcity build number 1 但它不起作用 我有一个 build gradle 文件 其中包含此任务 distTar baseName
  • 如何获取安卓锁屏壁纸?

    我使用下面的代码来检索 Android 8 1 手机上的 Android 锁屏壁纸 WallpaperManager manager WallpaperManager getInstance getActivity ParcelFileDe
  • OnPageChangeListener alpha 交叉淡入淡出

    关于 Android 中的交叉淡入淡出有很多问题 但它们都包含动画 我的问题是关于使用 ViewPager 的 OnPageChangeListener 进行交叉淡入淡出 我有一个 ViewPager 它可以有无限数量的视图 但实际上使用大
  • 我的云运行服务如何调用其他云运行服务?

    我有一个服务正在监听 https myapp a run app dosomething 但我想利用 Cloud Run 的可扩展性功能 因此在 dosomething 的控制器中 我向 https myapp a run app smal
  • 获取给定 System.Type 的结构的大小

    给定一个结构体MyStruct 我可以使用以下方法获取该结构实例的大小sizeof MyStruct 在不安全的代码中 但是 我想获取给定结构的大小Type结构体的对象 即sizeof typeof MyStruct 有Marshal Si
  • MYSQL - 无法连接到“localhost”上的 MYSQL 服务器 (10061)

    我已经在我的电脑上安装了 wamp 服务器 它没有互联网或内联网连接 Windows XP 操作系统 但是当我访问MYSQL时会弹出这个错误 你能告诉我如何解决这个错误吗 非常感谢 无法连接到 localhost 上的 MYSQL 服务器
  • 构建应用程序时 Xcode 错误:第 7 行:/resources-to-copy-Project.txt:权限被拒绝

    当我尝试在 Xcode 中构建 cordova 应用程序时 出现以下错误 Users User PhpstormProjects project project app platforms ios Pods Target Support F
  • 需要归档CLLocation数据

    我有一个数组CLLocation我想要存档的数据 应该NSUserDefaults系统可以用吗 否则 如何最好地归档CLLocation data 要正确存储 CLLocation 而不会丢失信息 请使用 NSKeyedArchiver 如
  • 如何从同一模块中的类名字符串获取类对象?

    我有课 class Foo def some method pass 还有另一个班级在同一个模块中 class Bar def some other method class name Foo Can I access the class
  • 未解决的外部符号错误仅发生在 64 位模式中,而不是在 32 位构建中

    我有一个 VC 代码 使用 VS2008 构建 它使用了一些静态库 在编译时静态链接的 lib 文件 为了便于理解 我们将我的 EXE 代码称为 AAA EXE 并将 lib 文件称为 A lib b lib 等 AAA EXE代码和静态库