避免在Visual Studio中出现LNK2005错误

时间:2011-12-06 21:42:19

标签: c windows visual-studio visual-studio-2005

我有这些文件:

main.c

myLib.h

myLib.c

但是当我试图编译整个项目时,这个错误又回来了:

1>myLib.obj : error LNK2005: _start_server already defined in main.obj
1>C:\Users\n3tpum63r\documents\visual studio 2010\Projects\NewMultiPlex2\Debug\main.exe : fatal error LNK1169: one or more multiply defined symbols found

我在谷歌搜索过它并发现了这个

"LNK2005 Errors When Link C Run-Time Libraries Are Linked Before MFC Libraries" 

但无法修复它。

如何修复此错误?

1 个答案:

答案 0 :(得分:3)

摆脱myLib.h的第1行 - 你通常不应该#include .c文件。

相反,在myLib.c中,你应该在文件的顶部添加 #include "myLib.h" - 在项目的这一点上并不是绝对必要但是这是一个很好的习惯。当你开始“真实世界”编程时。

看起来你在myLib.c中缺少一堆系统#includes。

其余的看起来或多或少都可以,它应该编译并链接上述更改。