繁体   English   中英

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

[英]Compiling and linking .asm file to C++ code

我在Windows上使用Visual Studio2010。我有一堆.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”,但仍未编译。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM