You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在CMake构建中启用内联汇编以解决__asm编译报错问题

解决CMake构建时__asm内联汇编不支持的问题

问题原因

MSVC的x64编译器不支持__asm关键字,只有x86(32位)编译器才支持该扩展。你当前用CMake默认生成的是64位项目,导致编译报错;而CLion能正常构建,是因为它默认配置了32位目标架构。

解决方案

修改CMake生成项目的命令,明确指定32位架构:

步骤1:重新生成CMake项目

删除原build目录后,执行以下命令:

mkdir build
cd build
cmake -G "Visual Studio 16 2019" -A Win32 ..

-A Win32参数强制生成32位Visual Studio项目,对应使用支持__asm的x86编译器。

步骤2:重新构建项目

执行构建命令:

cmake --build .

额外说明

如果需要64位版本,无法直接使用__asm,需将内联汇编代码迁移为独立的MASM汇编文件(.asm),或者改用MSVC提供的**编译器内部函数(Intrinsics)**替代。但考虑到原项目在CLion可正常运行,优先选择32位架构的方案即可。

内容的提问来源于stack exchange,提问作者quarks

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 18:55:28