首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从x86更改为x64后出现链接器错误

是因为x86和x64是不同的处理器架构,它们使用不同的指令集和内存模型。链接器错误通常是由于在更改架构后,编译器无法正确地链接库文件或对象文件导致的。

要解决这个问题,可以尝试以下几个步骤:

  1. 确保使用的编译器和链接器是针对x64架构的版本。不同的开发工具可能有不同的版本和设置,需要确保使用的是适用于x64的版本。
  2. 检查代码中是否存在与架构相关的问题。在从x86迁移到x64时,可能会出现一些与指针、数据类型或内存分配相关的问题。需要仔细检查代码,确保没有使用与x86相关的特定功能或假设。
  3. 检查库文件和依赖项是否与x64兼容。在更改架构后,需要确保使用的库文件和依赖项也是针对x64的版本。如果使用的是第三方库,需要查看其文档或官方网站,确认是否提供了x64版本的库文件。
  4. 清理和重新构建项目。有时,链接器错误可能是由于编译器缓存或生成的中间文件导致的。尝试清理项目并重新构建,以确保所有文件都是从头开始编译和链接的。
  5. 查找和解决特定的链接器错误。链接器错误可能有很多不同的原因和解决方法,具体取决于错误的类型和消息。可以通过查找错误消息或在开发者社区中提问来获取更具体的帮助和解决方案。

总之,从x86更改为x64后出现链接器错误是一个常见的问题,需要仔细检查代码、编译器和库文件,以确保它们都与新的架构兼容。腾讯云提供了丰富的云计算产品和服务,可以帮助开发者在云端部署和管理他们的应用程序,具体产品和服务可以在腾讯云官方网站上找到相关信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

win10 uwp 使用 msbuild 命令行编译 UWP 程序

尝试在本地开始菜单打开开发命令提示符,或者使用命令行调用本机的 VisualStudio 编译命令行 cmd> "C:\Program Files (x86)\Microsoft Visual Studio...下面的 AppxPackageDir 是填写 AppxPackageDir 的文件夹路径,请将这个值修改为自己需要的。...|x64|arm" 如果是在服务端编译,推荐先清理一下,然后再重新编译 清理的命令,请注意,如果需要带路径,对于清理命令需要加上 sln 文件 msbuild /t:clean // 带路径 msbuild...|x64|arm" 创建可以上传的文件,注意需要先链接应用商店,然后再将代码上传到 git 才可以创建出可以发到应用商店的文件。...欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接: https://lindexi.gitee.io ),不得用于商业目的,基于本文修改的作品务必以相同的许可发布。

1.3K20
  • VS2017 安装 Microsoft Visual Studio Installer Project

    错误:要在“系统必备”对话框中启用“与我的应用程序相同的位置下载系统必备组件”,必须将“Microsoft .NET Framework 4.6.1(x86x64)”项的文件“ DotNetFX461...错误:要在”系统必备“对话框中启用”与我的应用程序相同的位置下载系统必备组件“,必须将”Microsoft .NET Framework 4.6.1(x86x64)“项的文件”DotNetFX461...错误:要在”系统必备“对话框中启用“与我的应用程序相同的位置下载系统必备组件”,必须将“Microsoft .NET Framework 4.6.1(x86x64)”项的文件“DotNetFX461...错误:要在”系统必备“对话框中启用”与我的应用程序相同的位置下载系统必备组件“,必须将”Microsoft .NET Framework 4.6.1(x86x64)“项的文件”DotNetFX461...错误:要在”系统必备“对话框中启用“与我的应用程序相同的位置下载系统必备组件”,必须将“Microsoft .NET Framework 4.6.1(x86x64)”项的文件“DotNetFX461

    2.6K30

    x64汇编第一讲,Vs系列配置x64环境与x86环境

    目录 x64汇编环境配置 一丶x64环境配置 1.1 VS系列编译配置X64Asm开发环境....二丶Vs配置X86汇编环境. x64汇编环境配置 一丶x64环境配置 现在windows系统都是64位了,那么对应的汇编也就是说已经升级到64位了....当然后缀.asm文件没有,所以我们随便添加一个文本文件.或者一个.cpp文件.在添加的时候将后缀名改为.asm即可. 1.2 配置x86 /x64汇编环境 我们要生成一个应用程序,可以进行选择是生成x86...右键对.asm文件 点击属性,如下图表示 项目中排除选择否, 然后项目类型改正自定义类型 ? 1.4 asm属性继续设置 如果第三不应用之后则会出现如下显示界面 ?...二丶Vs配置X86汇编环境. 2.1.设置编译环境为win32 首先我们要选择编译为win32程序.这个自己直接在配置管理选择即可. 2.2.设置附加依赖项.

    3.1K30

    win10 uwp 使用 msbuild 命令行编译 UWP 程序

    尝试在本地开始菜单打开开发命令提示符,或者使用命令行调用本机的 VisualStudio 编译命令行 cmd> "C:\Program Files (x86)\Microsoft Visual Studio.../p:Platform=x64 现在就可以进行编译了,通过下面的代码进行编译 cmd> msbuild /p:Platform=x86 现在就可以编译 DEBUG 下的 x86 程序了 如果需要编译同时输出...下面的 AppxPackageDir 是填写 AppxPackageDir 的文件夹路径,请将这个值修改为自己需要的。...|x64|arm" 如果是在服务端编译,推荐先清理一下,然后再重新编译 清理的命令,请注意,如果需要带路径,对于清理命令需要加上 sln 文件 msbuild /t:clean // 带路径 msbuild...|x64|arm" 创建可以上传的文件,注意需要先链接应用商店,然后再将代码上传到 git 才可以创建出可以发到应用商店的文件。

    83220

    VS2015下Qt项目的x86x64版本编译

    VS2015下Qt项目的x86x64版本编译 环境 Window7 x64 VS2015 Qt5.11.3 x86 Qt5.11.3 x64 问题来源 原先开发软件都是针对x86的,这样兼容性比较好,...安装了Qt5.11.3的x86x64两个版本,然后新建了一个Qt的简单GUI实例,默认是x86的,编译链接都OK,但是我自己在配置管理中新建一个x64的活动解决方案平台,就会出现诡异的现象:x86和...x64都可以编译,但是会出现一大堆的链接错误,现在的情况是原本的x86也被改废了,整个工程凉凉了。...(x64x86活动解决方案对应的Qt Project Settings里面的Qt版本都是对应好的,但是就是会出现这种问题)。 这就是此文产生的原因。 解决方案 Step1....选择要切换的Qt方案,如果选择x64的Qt,那么VS的配置环境也会主动的切换到x64。反之,选中x86的Qt,那么VS的配置环境也会主动的切换到x86 ?

    1.5K10

    【.net】未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序解决办法 目录

    5、顺便说一下,在使用“Microsoft.Jet.OLEDB.4.0”,也会报类似错误,原因有可能是,Microsoft.Jet.OLEDB.4.0在64位系统上不支持,需要修改架构,x64改为x86...id=23734 (该链接已失效,直接用Microsoft Access Database Engine 2010 Redistributable就好了)   2)适用于office2010的   ...注意: 在下载Microsoft Access Database Engine 2010 Redistributable时会让选择下载x86的还是x64的,如图: ?...前提是看服务x64的还是x86的,x64的服务两个版本都能安装;   如果下载安装的是x64的,那么你的桌面程序就要选择anycpu或x64发布,而web项目是不兼容的,不管你是如何发布的;   ...如果下载安装的是x86的,那么你的桌面程序就要选择x86发布,而web项目正常发布就好; *总结:如果你是web项目,你就下载x86的,发布选anycpu就好了,然后设置应用程序池32位兼容就好了; *

    8.3K30

    Windows内核驱动开发:HelloWorld

    /x86 build tools (v14.25) MSVC v142 - VS 2019 C++ x64/x86 Spectre-mitigated libs (v14.25) v14.25根据在所有组件里看到最新版本的为准...否; 链接 - 常规,警告视为错误 否; Driver Settings - General,Target OS Version改成Windows 7,Target Platform改为Desktop...; Stampinf里所有 是 的地方改成 否; Inf2Cat里所有 是 的地方改成 否; Driver Signing - General中的Sign Mode改为 Off; 改好,使用Debug-x64...重新编译之后,会在x64/debug目录下生成HelloDriver.sys驱动文件。...驱动安装测试 打开win7,使用KMD Manager工具进行注册启动停止卸载服务,发现有出现Error Number not found的错误,通过一些测试发现是驱动签名检查没有完全禁用,根据官网给出的信息

    2.4K40

    驱动开发:配置Visual Studio驱动开发环境

    DVD驱动,此时双击驱动并按照要求安装即可,安装完成重启系统,此时则具备了拖拽上传功能; 图片 当这些都做好以后,建议用户关闭虚拟机,并点击【虚拟机】菜单,找到【快照】并拍摄一个快照,快照的作用是当虚拟机系统出现问题可快速恢复到初始模式...图片 4.修改配置属性中的【常规】属性,点击菜单栏中的调试,选择【WinDDK属性-配置-常规】修改为标黄处所示内容即可。...Files (x86)\Windows Kits\8.1\Lib\win7\km\x64 C:\Program Files (x86)\Windows Kits\8.1\Lib\wdf\kmdf\x64...\8.1\Lib\winv6.3\um\x64 C:\Program Files (x86)\Windows Kits\8.1\Lib\winv6.3\km\x64 当如上文件配置完成,最终效果如下图所示...=0x0501;_NDEBUG;DBG=0;%(PreprocessorDefinitions) 当如上文件配置完成,最终效果如下图所示; 图片 7.配置连接选项,选择【连接-所有选项】依次修改下方几个关键位置

    1.6K50

    VS2013+WDK8.1 驱动开发环境配置

    5.配置可执行文件路径与导入库路径,这里我们选择 配置属性 -> VC++目录依次将如下信息填入配置项,如果需要编译x64位驱动只需要将x86改为x64即可,此处以x86为例。...-> 依次修改下方几个关键处,如果你需要编译X64驱动需将调用约定改为__fastcall (/Gr)然后将预处理定义中的_X86_改为_AMD64_即可编译64位驱动了,此处以X86配置为例。...安全检查:禁用安全检查 (/GS-) 将警告视为错误:是 (/WX) 警告等级:等级 3 (/W3) 启用C++异常:否 调用约定:__stdcall (/Gz) 优化:已禁用 (/Od) 运行库:多线程调试...) 7.接着需要配置连接选项,选择连接 -> 所有选项 -> 依次修改下方几个关键处。...ntoskrnl.lib;ndis.lib;Hal.lib;wdm.lib;wdmsec.lib;wmilib.lib 固定基址:此处需要为空 忽略所有默认库:是 (/NODEFAULTLIB) 启用增量链接

    62530

    VS2013+WDK8.1 驱动开发环境配置

    图片5.配置可执行文件路径与导入库路径,这里我们选择 配置属性 -> VC++目录依次将如下信息填入配置项,如果需要编译x64位驱动只需要将x86改为x64即可,此处以x86为例。...,如果你需要编译X64驱动需将调用约定改为__fastcall (/Gr)然后将预处理定义中的_X86_改为_AMD64_即可编译64位驱动了,此处以X86配置为例。...安全检查:禁用安全检查 (/GS-)将警告视为错误:是 (/WX)警告等级:等级 3 (/W3)启用C++异常:否调用约定:__stdcall (/Gz)优化:已禁用 (/Od)运行库:多线程调试 (/....接着需要配置连接选项,选择连接 -> 所有选项 -> 依次修改下方几个关键处。...:ntoskrnl.lib;ndis.lib;Hal.lib;wdm.lib;wdmsec.lib;wmilib.lib固定基址:此处需要为空忽略所有默认库:是 (/NODEFAULTLIB)启用增量链接

    91420

    驱动开发:配置Visual Studio驱动开发环境

    DVD驱动,此时双击驱动并按照要求安装即可,安装完成重启系统,此时则具备了拖拽上传功能; 当这些都做好以后,建议用户关闭虚拟机,并点击【虚拟机】菜单,找到【快照】并拍摄一个快照,快照的作用是当虚拟机系统出现问题可快速恢复到初始模式...4.修改配置属性中的【常规】属性,点击菜单栏中的调试,选择【WinDDK属性-配置-常规】修改为标黄处所示内容即可。...Files (x86)\Windows Kits\8.1\Lib\win7\km\x64 C:\Program Files (x86)\Windows Kits\8.1\Lib\wdf\kmdf\x64...\8.1\Lib\winv6.3\um\x64 C:\Program Files (x86)\Windows Kits\8.1\Lib\winv6.3\km\x64 当如上文件配置完成,最终效果如下图所示...=0x0501;_NDEBUG;DBG=0;%(PreprocessorDefinitions) 当如上文件配置完成,最终效果如下图所示; 7.配置连接选项,选择【连接-所有选项】依次修改下方几个关键位置

    1K20

    一条指令引发的血案···

    PS:esp是x86架构CPU的栈指针寄存,rsp是x64架构CPU的栈指针寄存x64兼容了x86指令集,可以通过esp访问rsp的低32位。...由于前面正好有一堆nop,于是将紧邻着的一个nop0x90改为0x48,这样一来,就把add esp, 298h这条指令,改成了add rsp, 298h了。...修复程序的当时我给开发那边给出了一个解释,是恢复栈指针时出现错误导致堆栈不平衡。但现在仔细想想,简简单单一句“堆栈不平衡”完全解释不通。...继续寻找资料,微软文档里,介绍x64处理的体系结构时,提到了这么一句:继续寻找资料,微软文档里,介绍x64处理的体系结构时,提到了这么一句: 换句话说,操作32位寄存时会自动将64位的寄存进行0...,如果存在对寄存值的直接操作,那么就会导致高32位清零;如果不存在对值的修改,只是读取,则可能不会出现这种情况。

    8610

    Windows下适用于PHP 7.1的memcache扩展工具编译

    \deps\bin MD %_%\vc14\x86\deps\lib MD %_%\vc14\x86\deps\include MD %_%\vc14\x64\deps\bin MD %_%\vc14...VC14 4、在开始菜单找到并打开 VS2015 x64 本机工具命令提示符(注:如果要编译32位的,则需进入VS2015 x86 本机工具命令提示符),用cd 命令进入 E:\PHPCompile,...\phpdev\vc14\x64\,把deps-7.1-vc14-x64.7z解压到该目录下,覆盖deps文件夹 7、 把php源代码也解压到x64目录下,将解压的目录名改为PHP7 8、在x64目录下创建...pecl文件夹,在该文件夹下再建立memcache文件夹,将下载的memcache代码解压到这个目录下,再在x64目录下创建obj文件,用来存放编译的文件 编译 在刚才的 VS2015 x64 本机工具命令提示符执行以下命令...memcached服务的安装 下载 下载地址:http://pan.baidu.com/s/1gdKbp8R 安装 1、解压下载的文件,把它放到一个目录中,如D:\memcached。

    83430

    C# 通过 probing 指定 dll 寻找文件夹

    privatePath="abc\12;walter" /> 这个 App.config 在编译之后会在被修改为...程序集名.exe.config 在输出文件夹找到 xx.exe.config 可以通过修改这个文件在编译之后修改 dll 的寻找文件夹 如果是对于 C++ 的 dll 需要做特殊引用,如需要区分 x86...和 x64 请看 C# 如何在项目引用x86 x64的非托管代码 不能直接添加一个 x86 文件和一个 x64 文件夹,通过 privatePath 同时指定文件夹的方式 ---- 本文会经常更新...E8%BF%87-probing-%E6%8C%87%E5%AE%9A-dll-%E5%AF%BB%E6%89%BE%E6%96%87%E4%BB%B6%E5%A4%B9.html ,以避免陈旧错误知识的误导...欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接: https://lindexi.gitee.io ),不得用于商业目的,基于本文修改的作品务必以相同的许可发布。

    2K20
    领券