因为以前用到较多的是C语言程序,最近在Linux下用QT4写个界面,当用QT前台和后台函数整合的时候,出现了许多错误都是提示重复定义,可是我查看后台程序的时候,看到函数和变量都只是定义了一次,google了下,突然发现我的后台程序后缀名是C,也就是说是C文件,然后我把后台程序换成了CPP,并且程序和变量的定义放在cpp文件,声明放在头文件里面,然后执行:
$qmake -project
$qmake //这两个命令对QT声称Makefile
$make
可是还是出现这样的错误,发现出现重复定义的地方,在我的头文件都是以这样的形式存在,比如
test.h
int a;
int b;
这都是变量声明,可是在C++里么看成了变量定义,于是我把这些变量在CPP文件里面声明,比如
test.c
#include "test.h"
int a;
int b;
========
test.h
extern int a;
extern int b;
这样编译之后就没有问题了。