- 论坛徽章:
- 0
|
- Makefile的编写
- 假设我们有下面这样的一个程序,源代码如下:
- /* main.c */
- #include "mytool1.h"
- #include "mytool2.h"
- int main(int argc,char **argv)
- {
- mytool1_print("hello");
- mytool2_print("hello");
- }
- /* mytool1.h */
- #ifndef _MYTOOL_1_H
- #define _MYTOOL_1_H
- void mytool1_print(char *print_str);
- #endif
- /* mytool1.c */
- #include "mytool1.h"
- void mytool1_print(char *print_str)
- {
- printf("This is mytool1 print %s\n",print_str);
- }
- /* mytool2.h */
- #ifndef _MYTOOL_2_H
- #define _MYTOOL_2_H
- void mytool2_print(char *print_str);
- #endif
- /* mytool2.c */
- #include "mytool2.h"
- void mytool2_print(char *print_str)
- {
- printf("This is mytool2 print %s\n",print_str);
- }
- 当然由于这个程序是很短的我们可以这样来编译
- gcc -c main.c
- gcc -c mytool1.c
- gcc -c mytool2.c
- gcc -o main main.o mytool1.o mytool2.o
复制代码
我在编译main.c的时候,得到如下错误提示
In file included from main.c:2:
mytool1.h:2:2: invalid preprocessing directive #ifndef_MYTOOL_1_H
mytool1.h:3:2: invalid preprocessing directive #define_MYTOOL_1_H
mytool1.h:7:2: #endif without #if
In file included from main.c:3:
mytool2.h:2:2: invalid preprocessing directive #ifndef_MYTOOL_2_H
mytool2.h:3:2: invalid preprocessing directive #define_MYTOOL_2_H
mytool2.h:7:2: #endif without #if
这是在一个教程上看到的例子,不能全部明白其意思,故求解
下面是系统环境
Linux 2.6.9-5.EL i686 i686 i386 GNU/Linux
Red Hat 3.4.3-9.EL4
gcc version 3.4.3
CPU:Intel(R) Celeron(TM) CPU 1000MHz
MemTotal: 256064 kB |
|