我正在尝试使用 AppWeb,并且编写了一个非常简单的程序来将 AppWeb 嵌入到我的应用程序中,它使用 AppWeb 库中的一个函数。
#include <appweb/appweb.h>
int main(int argc, char** argv)
{
return maRunWebServer("appweb.conf");
}
我不知道当我用gcc(或cc)编译时,它编译成功了。但是,当我交叉编译到 Arm 架构时,出现了错误。
这是我的 Makefile:
CC = gcc
LIBS = lib
FLAG = -lappweb -lmpr
TEST_TARGET = embed-appweb
OBJS = embed-appweb
all: clean compile
compile: run
$(CC) -Wall -L$(LIBS) $(FLAG) -o $(TEST_TARGET) $(OBJS).o
run:
$(CC) -Wall -L$(LIBS) $(FLAG) -c $(OBJS).c
clean:
@rm -rf $(TEST_TARGET) $(TEST_TARGET).trc *.o *~
@echo "Clean complete"
我将“CC = gcc”替换为“CC = arm-linux-gcc”以进行交叉编译。
我的问题中的错误是:
arm-linux-gcc -Wall -Llib -lappweb -lmpr -c embed-appweb.c
embed-appweb.c:1:27: error: appweb/appweb.h: No such file or directory
embed-appweb.c: In function 'main':
embed-appweb.c:4: warning: implicit declaration of function 'maRunWebServer'
make: *** [run] Error 1
我确信我的文件夹“lib”中存在库“libappweb.so”
有人可能会告诉我,为什么会出错?并给我一些建议?
Thanks,
你知道如何使用-I海湾合作委员会的选择?
您收到的错误是由于编译器(gcc)可以找到您想要包含的文件。
最简单的解决方案是更改 Makefile 中的 FLAG:
FLAG = -lappweb -lmpr
to
FLAG = -lappweb -lmpr -I/path/to/my/headers
当然,您必须将 /path/to/my/headers 更改为标头所在的真实路径。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)