将 x86 转换为 x64 发生链接错误(2019)

Posted

技术标签:

【中文标题】将 x86 转换为 x64 发生链接错误(2019)【英文标题】:convert x86 to x64 the linking error(2019) occure 【发布时间】:2011-11-04 10:20:12 【问题描述】:

我在 vc++ 中有一个项目,它使用标准 windows 库和源文件包括 file1.h.A 方法在头文件中定义为

file1.h

void _stdcall fun(char * text);

但是平台是x86和vc6。现在我在vs8中转换了项目。和x64平台。我还在x64平台中添加了file1.lib文件。但是当我执行项目时发生错误

错误 LNK2019:函数中引用了未解析的外部符号 fun 主要的

【问题讨论】:

你也必须重建库。 【参考方案1】:

正如@Hans 所说,您需要重新编译 everything 以使用 x64(如果它还不是 x64),这是因为 x64 具有不同的 ABI,因此名称修饰符号更改,因此您的错误。

【讨论】:

以上是关于将 x86 转换为 x64 发生链接错误(2019)的主要内容,如果未能解决你的问题,请参考以下文章

致命错误 LNK1112:模块机器类型“x64”与通过 vcvarsall.bat x86 运行构建的目标机器类型“X86”冲突

致命错误 LNK1112:模块机器类型“x64”与通过 vcvarsall.bat x86 运行构建的目标机器类型“X86”冲突

将 x86 更改为 x64 会影响我的 LNK1168 错误

模块计算机类型x64与目标计算机类型X86冲突OSG

编译为 x86 时检测 OS x86 或 x64

从 x64 .NET 访问 x86 COM