0

我不明白爲什麼,但我無法在兩個文件中編譯超簡單的C代碼,當它們之間有一些引用時。我使用Visual Studio 2010中,打開Empy C++項目在這裏:未能編譯超級代碼

的main.c:

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

anotherfile.c:

void putc(char c) { 

} 

我得到這些錯誤: My errors

我認爲這將在一些項目配置,但我不知道在哪裏....

請幫忙。

+0

嘗試將您的'putc'重命名爲其他名稱。它可能與'C''函數'putc'發生名稱衝突。 – 2013-03-10 14:36:52

+0

我試過了。它沒有幫助。獲取相同的錯誤,但更改名稱。 – user35443 2013-03-10 14:38:09

+0

嘗試清理您的Project文件夾。我剛剛在VC2012中測試了您的代碼,它對我有用... – 2013-03-10 14:40:03

回答

2

在VC2012項目中,請禁用Precompiled Headers選項。這應該可以解決你面臨的編譯問題。

1

它適用於我的默認設置。也許你的.sln有問題。嘗試創建一個新的空的控制檯項目,並添加您的文件。如果它仍然不起作用,請發送您在構建exe時遇到的錯誤。