【问题标题】:Failing to compile supersimple code无法编译超简单代码
【发布时间】:2013-03-10 14:33:43
【问题描述】:

我不明白为什么,但是当它们之间有一些引用时,我无法在两个文件中编译超简单 C 代码。我正在使用 Visual Studio 2010,打开 Empy C++ 项目这里是:

main.c:

extern void putc(char c);
int main() {
char c = ' ';
putc(c);
return;
}

另一个文件.c:

void putc(char c) {

}

我收到以下错误:

我认为它会在某些项目配置中,但我不知道在哪里......

请帮忙。

【问题讨论】:

  • 尝试将您的 putc 重命名为其他名称。这可能是与C-function putc 的名称冲突。
  • 我试过了。它没有帮助。得到相同的错误,但名称已更改。
  • 尝试清理您的项目文件夹。我刚刚在 VC2012 中测试了你的代码,它对我有用......
  • 我敢打赌你没有使用那些确切的文件。错误消息中有对screen.obj 的引用,而上面写的anotherfile.c(我认为是screen.c)并没有以任何方式引用main 或_main。
  • @user35443 既然提到了VC2012,能不能通过禁用项目的预编译头选项来试试?

标签: c visual-studio-2010 compiler-construction compilation linker


【解决方案1】:

在 VC2012 项目中,请禁用Precompiled Headers 选项。这应该可以解决您面临的编译问题。

【讨论】:

    【解决方案2】:

    默认设置对我有用。也许您的 .sln 有问题。尝试创建一个新的空控制台项目,然后添加您的文件。如果仍然无法正常工作,请发送您在构建 exe 时遇到的错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-14
      相关资源
      最近更新 更多