C 未能编译超简单代码
我不明白为什么,但当两个文件之间有一些引用时,我无法在两个文件中编译超级简单的C代码。我使用VisualStudio 2010,打开了空的C++项目,这里是: 主要条款c:C 未能编译超简单代码,c,visual-studio-2010,compiler-construction,compilation,linker,C,Visual Studio 2010,Compiler Construction,Compilation,Linker,我不明白为什么,但当两个文件之间有一些引用时,我无法在两个文件中编译超级简单的C代码。我使用VisualStudio 2010,打开了空的C++项目,这里是: 主要条款c: extern void putc(char c); int main() { char c = ' '; putc(c); return; } 另一个文件.c: void putc(char c) { } 我发现以下错误: 我想它将在一些项目配置中,但我不知道在哪里 请帮助。默认设置对我有效。您的.sln可能有问题。
extern void putc(char c);
int main() {
char c = ' ';
putc(c);
return;
}
另一个文件.c:
void putc(char c) {
}
我发现以下错误:
我想它将在一些项目配置中,但我不知道在哪里
请帮助。默认设置对我有效。您的.sln可能有问题。尝试创建一个新的空控制台项目,并添加文件。如果它仍然不起作用,请发送生成exe时出现的错误。它在默认设置下对我起作用。您的.sln可能有问题。尝试创建一个新的空控制台项目,并添加文件。如果仍不起作用,请发送生成exe时出现的错误。在VC2012项目中,请禁用
预编译头
选项。这将解决您面临的编译问题。在VC2012项目中,请禁用预编译头
选项。这将解决您面临的编译问题。尝试将putc
重命名为其他名称。这可能是与C
-函数putc
的名称冲突。我试过了。这没有帮助。获取相同的错误,但名称已更改。请尝试清理项目文件夹。我刚刚在VC2012中测试了你的代码,它对我很有效……我打赌你没有使用那些精确的文件。在错误消息中有一个对screen.obj
的引用,并且上面写的另一个文件.c
(我假定是screen.c
)没有以任何方式引用main
或\u main
。@user35443因为您提到了VC2012,您可以尝试禁用项目的预编译头选项并重试吗?尝试将putc
重命名为其他名称。这可能是与C
-函数putc
的名称冲突。我试过了。这没有帮助。获取相同的错误,但名称已更改。请尝试清理项目文件夹。我刚刚在VC2012中测试了你的代码,它对我很有效……我打赌你没有使用那些精确的文件。在错误消息中有一个对screen.obj
的引用,并且上面写的另一个文件.c
(我假定是screen.c
)没有以任何方式引用main
或\u main
。@user35443因为您提到了VC2012,您可以尝试禁用项目的预编译头选项并重试吗?