11 个解决方案
#1
试试CFLAGS
#2
gcc -Ixxxx
#3
main.c头文件使用尖括号:
#include <backtrace.h>
#include <foo.h>
#include <bar.h>
同一目录下的Makefile:
%.o: %.c
$(CC) $(CFLAGS) -c $^ -I ./configs
其中自定义头文件位于configs目录。
有兴趣可以看看:
http://www.latelee.org/programming-under-linux/113-multi-makefile-for-app.html
#include <backtrace.h>
#include <foo.h>
#include <bar.h>
同一目录下的Makefile:
%.o: %.c
$(CC) $(CFLAGS) -c $^ -I ./configs
其中自定义头文件位于configs目录。
有兴趣可以看看:
http://www.latelee.org/programming-under-linux/113-multi-makefile-for-app.html
#4
我试过,报错说让我用EXTRA_CFLAGS,结果也没用
#5
这两个呢..
CPPFLAGS
CXXFLAGS
#6
我编译的是模块,我不知道怎么加CC,gcc命令,因为没有main函数。
我都是直接使用make -C xxx M=xxx modules命令。
#7
刚试过,也不行
#8
抱歉,没看清题目。
刚才试了一下,使用EXTRA_CFLAGS不行,网上有用gcc编译而不是make的,但是试了,错误更多。
如果实在不行,用双引号include头文件吧,在include中也可以指定头文件位置的。
刚才试了一下,使用EXTRA_CFLAGS不行,网上有用gcc编译而不是make的,但是试了,错误更多。
如果实在不行,用双引号include头文件吧,在include中也可以指定头文件位置的。
#9
非常感谢,确实可以
#10
目录树:
代码中使用了尖括号。
Makefile重要语句:
由ldd3例子所得。
自己测试通过。
楼主不妨一试。
|-- Makefile
|-- come.c
|-- configs
| |-- come.h
| `-- on.h
`-- on.c
1 directory, 5 files
其中configs为两个自定义头文件所在目录。其中come.c代码如下:
#include <linux/module.h>
#include <linux/init.h>
#include <come.h>
//#include "configs/come.h"
static int __init hello_init(void)
{
printk(KERN_WARNING "Hello world!\n");
return 0;
}
module_init(hello_init);
代码中使用了尖括号。
Makefile重要语句:
EXTRA_CFLAGS += $(DEBFLAGS)
EXTRA_CFLAGS += -I$(INCDIR)
$(MAKE) -C $(KERNELDIR) M=$(PWD) INCDIR=$(PWD)/configs modules;
由ldd3例子所得。
自己测试通过。
楼主不妨一试。
#11
使用gcc
gcc -I(./include)...
使用这个是可以制定程序的搜索路径
或者可以多个目录的搜索
INC_PATH := ./includde\
./common/include\
CFLAGS += $(foreach dir,$(INC_PATH),-I$(dir))
gcc -I(./include)...
使用这个是可以制定程序的搜索路径
或者可以多个目录的搜索
INC_PATH := ./includde\
./common/include\
CFLAGS += $(foreach dir,$(INC_PATH),-I$(dir))
#1
试试CFLAGS
#2
gcc -Ixxxx
#3
main.c头文件使用尖括号:
#include <backtrace.h>
#include <foo.h>
#include <bar.h>
同一目录下的Makefile:
%.o: %.c
$(CC) $(CFLAGS) -c $^ -I ./configs
其中自定义头文件位于configs目录。
有兴趣可以看看:
http://www.latelee.org/programming-under-linux/113-multi-makefile-for-app.html
#include <backtrace.h>
#include <foo.h>
#include <bar.h>
同一目录下的Makefile:
%.o: %.c
$(CC) $(CFLAGS) -c $^ -I ./configs
其中自定义头文件位于configs目录。
有兴趣可以看看:
http://www.latelee.org/programming-under-linux/113-multi-makefile-for-app.html
#4
我试过,报错说让我用EXTRA_CFLAGS,结果也没用
#5
这两个呢..
CPPFLAGS
CXXFLAGS
#6
我编译的是模块,我不知道怎么加CC,gcc命令,因为没有main函数。
我都是直接使用make -C xxx M=xxx modules命令。
#7
刚试过,也不行
#8
抱歉,没看清题目。
刚才试了一下,使用EXTRA_CFLAGS不行,网上有用gcc编译而不是make的,但是试了,错误更多。
如果实在不行,用双引号include头文件吧,在include中也可以指定头文件位置的。
刚才试了一下,使用EXTRA_CFLAGS不行,网上有用gcc编译而不是make的,但是试了,错误更多。
如果实在不行,用双引号include头文件吧,在include中也可以指定头文件位置的。
#9
非常感谢,确实可以
#10
目录树:
代码中使用了尖括号。
Makefile重要语句:
由ldd3例子所得。
自己测试通过。
楼主不妨一试。
|-- Makefile
|-- come.c
|-- configs
| |-- come.h
| `-- on.h
`-- on.c
1 directory, 5 files
其中configs为两个自定义头文件所在目录。其中come.c代码如下:
#include <linux/module.h>
#include <linux/init.h>
#include <come.h>
//#include "configs/come.h"
static int __init hello_init(void)
{
printk(KERN_WARNING "Hello world!\n");
return 0;
}
module_init(hello_init);
代码中使用了尖括号。
Makefile重要语句:
EXTRA_CFLAGS += $(DEBFLAGS)
EXTRA_CFLAGS += -I$(INCDIR)
$(MAKE) -C $(KERNELDIR) M=$(PWD) INCDIR=$(PWD)/configs modules;
由ldd3例子所得。
自己测试通过。
楼主不妨一试。
#11
使用gcc
gcc -I(./include)...
使用这个是可以制定程序的搜索路径
或者可以多个目录的搜索
INC_PATH := ./includde\
./common/include\
CFLAGS += $(foreach dir,$(INC_PATH),-I$(dir))
gcc -I(./include)...
使用这个是可以制定程序的搜索路径
或者可以多个目录的搜索
INC_PATH := ./includde\
./common/include\
CFLAGS += $(foreach dir,$(INC_PATH),-I$(dir))