【问题标题】:Why am I getting a linker error when I use an Irvine32 function?为什么在使用 Irvine32 函数时会出现链接器错误?
【发布时间】:2016-03-19 18:25:57
【问题描述】:

我正在尝试在 Visual Studio 中使用 MASM 运行汇编程序。这是我的代码

include Irvine32.inc

.data
str1 BYTE "a test string",0

.code
main proc
    mov edx,OFFSET str1
    call WriteString
    exit
main endp
End main

我得到的错误是:

错误 LNK2019:未解析的外部符号 _WriteString@0 在函数 _main@0 中引用”

为什么会出现这个错误?

【问题讨论】:

  • 你链接的是Irvine32.lib吗?
  • @MichaelPetch 是的,我发现我没有在解决方案的属性中添加它。现在一切正常。

标签: visual-studio assembly x86 masm irvine32


【解决方案1】:
  • Shift + Alt + A
  • 从您的硬盘中找到 Irvine32.incIrvine32.lib
  • 在您的项目存储库中添加它们。

【讨论】:

    【解决方案2】:

    链接器错误表明您没有链接到 Irvine32 库。尽管您已在汇编程序的顶部包含 Irvine32.inc,但您仍需要将 Irvine32.lib 添加为库以在您的解决方案中链接,或将其添加到命令行(如果在命令 shell 中编译),或者在你的汇编代码中使用includelib 指令来链接它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-02-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-21
      • 1970-01-01
      相关资源
      最近更新 更多