本工程已經在環境:
(1)ubuntu12.04
(2)編譯器:gcc version 5.4.1 20160904 (Ubuntu 5.4.1-2ubuntu1~12.04)
(3)交叉編譯器:gcc version 4.4.1 (Sourcery G++ Lite 2009q3-67)
(4)系統為x86_64
(5)zlog-1.2.14.tar.gz
makefile檔案內容:
/**********************************makefile start**********************************/
CROSS_COMPILE = arm-none-linux-gnueabi-
#CROSS_COMPILE =
TAR = ctl.bin
OBJS = main.o sys.o usage.o dm.o\
ver.o var.o const_data.o gpio.o\
public_config.o\
xml.o private_config.o str.o file_info.o pipe.o pipe_cmd.o\
process_mutex.o zlog_interface.o\
event_core.o dm_epoll.o timer.o\
socket.o sp_frame_analyse.o commun.o\
cmd_core.o\
dm_flow.o\
monitor.o\
dev_state.o\
online.o\
serial_port.o\
info_census.o tick.o ab_process.o\
abnormal.o abnormal_act.o abnormal_simulate.o ab_interface.o\
conf_coprocess_module.o
CC = $(CROSS_COMPILE)gcc
CFLAGS = -g -O2 -Wstrict-prototypes -Wno-unused-function -std=gnu99 #-I/usr/include/libxml2 -I/usr/include/
LDFLAGS = -pthread -lxml2 -lrt -lzlog
$(TAR): $(OBJS)
$(CC) $(CFLAGS) -o $(TAR) $(OBJS) $(LDFLAGS)
rm -rf *.o
clean:
rm -rf *.o $(TAR)
ifneq ("$V", "1")
Q=@
endif
%.o : %.c
@echo "\033[1;35m $(CC) $@\033[0m"
$(Q) $(CC) -pipe $(CFLAGS) -c -o $@ $<
/**********************************makefile end**********************************/
注釋掉“-I/usr/include/libxml2 -I/usr/include/ ”會報錯“xml.h:22: fatal error: libxml/parser.h: No such file or directory
”。在/usr/include/下已經存在libxml2。
不注釋掉“cc1: warning: include location "/usr/include/libxml2" is unsafe for cross-compilation”。
uj5u.com熱心網友回復:
libxml2 交叉編譯了嗎?uj5u.com熱心網友回復:
已經交叉編譯了。但是沒有將生成的include沒有放到/usr/include。交叉編譯生成的include在我自己建的一個安裝檔案夾下。是要在工程交叉編譯時候CFLAGS下添加-I加上我xml交叉編譯的生成的include路徑?uj5u.com熱心網友回復:
是的
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/77666.html
標籤:應用程序開發區
上一篇:gcc靜態鏈接失敗
