error link问题
一个 aaa.h,
aaa.cpp,
bbb.cpp(main函数在其中)
组成的工程;
如果我把aaa.cpp的东西全部剪切到bbb.cpp中则运行成功!
否则不剪切aaa.cpp到bbb.cpp中则无法连接!
下面是输出的错误联接问题:
bbb.obj : error LNK2005: "void __cdecl writebmpFILEhead(class std::basic_string <char,struct std::char_traits <char> ,class std::allocator <char> > &,struct mytagBITMAPFILEHEADER &) " (?writebmpFILEhead@@YAXAAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAUmytagBITMAPFILEHEADER@@@Z) already defined in aaa.obj
[解决办法]
如果bbb.cpp用到aaa.cpp中的函数,把用到的每个函数在aaa.h中声明一下,然后把debug删了重新编译一下看看行不行
[解决办法]
你看错误提示,
哪个结构体你定义了两次
删掉一个
[解决办法]
1. a.cpp 要包含 a.h
2. a.cpp要包含在工程里面,如果是vc ,则可以添加文件到工程