工作上一个工程是怎么合作的(已经查资料,还是不懂)??求关注,求回答
1、一个工程里是有很多.cpp文件和.h文件的。实现不同功能的文件就起个名字分开来写,方便查找,修改,也可以多人合作
2.cpp一般都是定义函数的地方,就是实现函数功能的地方。.h文件一般存放系统的头文件。实现不同功能的文件就起个名字分开来写,方便查找,修改,也可以多人合作(#inlcude<stdio.h>),宏定义(#define),函数、类、结构体的声名等等。
这些是基本了解。
那么,我首先在桌面建立了一个test.h文件
#include<stdio.h>
int sum();
然后建立一个test.cpp文件
#include"test.h"
int sum()
{
int i = 2;
return i;
}
然后再建立一个test1.cpp文件
#include<stdio.h>
#include"test.h"
int main()
{
printf("%d\n",sum());
return 0;
}
然后在这个test1.cpp文件中,用工程->增加到工程->文件 的方式加入头文件,然后编译,出现了一下错误:test1.obj : error LNK2001: unresolved external symbol "int __cdecl sum(void)" (?sum@@YAHXZ)
Debug/test1.exe : fatal error LNK1120: 1 unresolved externals
那么哪里有错误?
新手是相当于完全不懂,希望大家可以详细介绍点,我主要是想了解假如我要做一个游戏之类的,不同的人应该怎么合作,就是说不同的人写了不同的.cpp文件实现不同功能,那么大家的.cpp文件里都有main函数吗,怎么结合,谢谢大家啦,
[解决办法]
你包含这个头文件,只是解决了编译的问题,没有解决链接的问题。有三种访求可以解决你的问题:
1.你是编译,连接的时候,将test.cpp一起编译,链接进来
2.将test.cpp编译为静态库,然后编译,链接test2.cpp的时候将这个静态库链接进来
3.将test.cpp编译为静态库,然后编译,链接test2.cpp的时候将这个动态库链接进来
[解决办法]
原因在于连接器没有找到sum函数的实体,所以你需要把test.cpp一起加入工程进行编译链接。
[解决办法]
++
[解决办法]
《程序员的自我修养——链接、装载与库》
[解决办法]
《Windows PE权威指南》
[解决办法]
程序员的自我修养
[解决办法]
没玩过win下C.
[解决办法]
+1