错误LNK2019:函数main中引用的未解析的外部符号

  发布于 2023-02-13 14:21

我试图用C++运行我的简单汇编代码.我只有两个文件".cpp"文件和".asm"文件.在编译时会出现错误(见下文).如果有人可以提供帮助,我将不胜感激...... :)

这是我的"main.cpp"文件

#include 
using namespace std;

extern "C" int GetValueFromASM(); 

int main(int argc, char *argv[]){

cout<<"value is:"<

我还有一个简单的"asm.asm"文件

.code
   GetValueFromASM proc
   mov rax,3254
   ret
   GetValueFromASM endp
end

当尝试构建我得到此错误:

1>main.obj : error LNK2019: unresolved external symbol GetValueFromASM referenced in             
function main

1>..\visual studio 2012\Projects\AllAssembly\x64\Debug\AllAssembly.exe : fatal error LNK1120: 1 unresolved externals

我试过去物业 - >链接 - >附加图书馆目录并改变路径,但它不起作用.

我也试过去LINKER-> SYSTEM-> SUBSYSTEM并选择"Windows(/ SUBSYSTEM:WINDOWS)"或"Console(/ SUBSYSTEM:CONSOLE)"但两个都​​没有工作.任何人都可以帮助!! ..非常感谢

1 个回答
  • extern"C"表示前导下划线(c风格函数命名).只需将您的函数添加到.asm文件中,它就会开始链接.

    UPD:如果您的项目没有构建,请确保您包含MASM构建自定义:转到项目上下文菜单 - >构建自定义... - >选中masm的复选框(.targets,.props).

    然后转到.asm文件的属性,并选择项类型为"Microsoft宏汇编程序".

    2023-02-13 14:22 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有