0

我在 VC++ Express 2008 中构建项目时遇到问题...我正在使用库 irvine32.inc/lib。默认情况下,包括 Irvine32.inc 在学校(在已配置的 VS 环境中)为我工作,但在家里(Windows 7 x64)我遇到了很多问题。我的原始帖子是 irvine32.inc 在同一文件夹中引用的文件“无法打开”。将 irvine 文件夹添加到特定项目、进度的包含路径中。然后我遇到了 mt.exe 错误,但是 MSDN 上的一个建议建议关闭防病毒软件,现在项目确实构建了,但是当我运行一个不引用 irvine32 中任何内容的程序时,它反复告诉我我的项目已触发一个断点,并允许我继续或中断。Continue 只是弹出同一个窗口,break 加载另一个弹出窗口告诉我“ 没有为任何调用堆栈帧加载符号。无法显示源代码。” 这个弹出窗口让我查看反汇编。

我在使用和不使用工作语句的情况下对其进行了测试,它只是在第一行代码上抛出了相同的断点。现在,如果我在程序确实需要包含文件中的某些内容时运行该程序,在本例中为 DumpRegs:

INCLUDE Irvine32.inc

.data

.code
main PROC
mov ebx,1000h
mov eax,1000h
add eax,ebx
call DumpRegs

main ENDP
END main

这给了我

1>main.obj:错误 LNK2019:未解析的外部符号 _DumpRegs@0 在函数 _main@0 中引用 1>C:\Users\Cameron\csis165\Lab8_CCarroll\Debug\Lab8_CCarroll.exe:致命错误 LNK1120:1 个未解析的外部

当我根据本书作者的示例构建项目时,不会发生这种情况,该示例具有相同的 include 语句。

我很困惑。:(

4

1 回答 1

-1

我猜是错误的项目模板。_DumpRegs@0 显然是 C++,而不是 C 或汇编语言。我的汇编语言讲师的第一堂课是关于设置 make 文件。你在使用makefile项目吗?

于 2009-10-27T02:12:06.790 回答