我是处理头文件的新手。因此,如果问题很愚蠢,请原谅我。
我尝试将自己的标头包含到Visual C ++ 2013 Express项目中,而不将源文件或头文件添加到解决方案资源管理器(该目录在“其他包含目录”中列出)。结果是lnk2019错误。
但是,如果仅包含.cpp文件,则可以使用。也可以仅将源文件添加到解决方案资源管理器中。
代码实际上非常原始:
test.h:
#if !defined TEST_H
#define TEST_H
int test(int number);
#endif
TEST.CPP:
#include "stdafx.h"
#include "test.h"
int test(int number)
{
return 2*number;
}
main.cpp中:
#include "stdafx.h"
#include <iostream>
#include "test.h"
int main()
{
std::cout << test(2);
system("Pause");
return 0;
}
错误:
Error 1 error LNK2019: unresolved external symbol "int __cdecl test(int)" (?test@@YAHH@Z) referenced in function _main c:\Users\Lukas\documents\visual studio 2013\Projects\Euler20\Euler20\Euler20.obj Euler20
是否有一种简单的方法可以通过键入#include“example.h”来包含自己的头文件,方法与标准C ++头文件的方式相同(前提是此头文件的目录在“其他包含”中列出目录“)?
我已经知道您可以创建一个自己的库,如下所示:
http://msdn.microsoft.com/library/ms235627.aspx
但这种做法对我来说似乎很不方便。
无论如何,包含.cpp文件而不是头文件的缺点是什么?