我在VC6.0里面写了两个.cpp文件,一个.h,其中两个.cpp文件编译都没问题,但却组建不了.exe。帮忙看看。

2025-02-22 22:17:20
推荐回答(4个)
回答1:

.h文件里不能有定义,只能有声明。
你现在头文件里全是定义,这个头文件被包含超过一次,就会出现链接错误。
解决办法是把:
int x=10; //定义了全局变量X,供1.CPP和2.CPP调用。
int y=10; //定义了全局变量Y,供1.CPP和2.CPP调用。
放到其中一个cpp文件里,而在另一个cpp文件里用:
extern int x;
extern int y;引用第一个cpp文件里定义的全局变量。
add函数也是一样,在头文件里只写函数的声明:
voia add();
在其中一个cpp文件里定义add函数。你可以把add函数的定义放到第一个cpp文件里就行。

回答2:

1、如果VC已经打开,请关闭工作空间。
2、分别双击磁盘文件3.h、2.cpp和1。cpp
3、单击《窗口(W)》菜单,选择2.cpp,选择《组建(B)》编译2.cpp
4、单击《窗口(W)》菜单,选择1.cpp,选择《组建(B)》编译1.cpp
5、选择《组建(B)》下面的<全部重建>
6、Ctrl + F5运行。

回答3:

链接出错......
头文件不应该定义函数与变量赋值...

3.h
改成

int x; //定义了全局变量X,供1.CPP和2.CPP调用。

int y;

//定义了全局变量Y,供1.CPP和2.CPP调用。

void add() ; //定义外部函数。

定义与赋值在1.cpp

回答4:

void add() //定义外部函数。
这个函数体
不要放在.h里
放在一个.c里
然后在.h里 extern void add();即可