gpt4 book ai didi

c++ - 将 .asm 文件编译并链接到 C++ 代码

转载 作者:太空宇宙 更新时间:2023-11-04 13:41:00 27 4
gpt4 key购买 nike

我在 Windows 上使用 Visual Studio 2010。我有一堆 .cpp 文件和一个 .asm 文件,我想一起编译。

现在我正在执行自定义命令来分别编译 .asm,如下所示:

#windows 64 bit builds need an asm file that needs to be compiled separately
if (MSVC AND CMAKE_CL_64)
add_custom_command(TARGET MYPROJECT
PRE_BUILD
COMMAND "$ENV{VCInstallDir}/bin/x86_amd64/ml64" /c /W2 /nologo /errorReport:none
/Fo${CMAKE_BINARY_DIR}/${CMAKE_PROJECT_NAME}.dir/Debug/
#/Fo"C:/MYPROJECT/Build/Main_ms100_64/MYPROJECT.dir/Debug/"
$CSrcDir}/masm64.asm
COMMENT "Building asm file")
endif()

这会将 .obj 文件放在与其他 obj 文件一样的正确位置,但它似乎没有被链接器包含在内。如何使链接器成为 masm64.obj 文件?

作为替代解决方案,我尝试将文件的源属性设置为“LANGUAGE ASM”,但它仍然无法编译。

最佳答案

我通常在文件本身上设置自定义构建工具。有一个复选框指示输出是否参与构建。根据我的经验,我发现如果选中该框,汇编器就会输出到正确的中间目录。我发现如果我使用自定义命令,我必须明确地将目标文件添加到链接器命令行。

关于c++ - 将 .asm 文件编译并链接到 C++ 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27627773/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com