【发布时间】:2018-06-07 10:00:27
【问题描述】:
我在我的项目中使用opencv,现在我使用makefile将项目编译成一个静态库,但总是输出'fatal error: 'cv.h' file not found'。我已经搜索过这个网站和其他地方,这不是我需要的。我只知道一点makefile语法。我该怎么办?
生成文件
LIBS_DIR = ./lib/
OBJS_DIR = ./obj/
DEPENDENT_DIR = ./dependent/
HEADER_PATH = -I./include -I./implement -I.
LIB_PATH = -L./lib
SRCDIRS := $(patsubst ./%, %, $(shell find . -type d))
SRCS_CXX := $(foreach dir, $(SRCDIRS), $(wildcard $(addprefix $(dir)\/*, .cpp)))
OBJS := $(SRCS_CXX:.cpp=.o)
%.o: %.cpp
@echo "---------- .o begin ----------"
$(CXX) -c $< $(HEADER_PATH)
$(CXX) -o $@ $^ $(LIB_PATH)
mv $@ $(OBJS_DIR)
%.d: %.cpp
@echo "---------- dependent begin ----------"
@set -e; \
rm -f $@; \
$(CXX) -MM $< > $@.tmp; \
sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.tmp > $@; \
rm -f $@.tmp
mv $@ $(DEPENDENT_DIR)
-include $(DEPS)
.PHONY: clean
clean:
rm -f obj/*.o lib/*.a dependent/*.d
rm -rf SunWS_cache
在我的文件中
#include <cv.h>
#include <cxcore.h>
#include <highgui.h>
新错误
我将HEADER_PATH修改为HEADER_PATH = -I./include/opencv -I./include/opencv2 -I./implement -I.,但出现了一个新错误fatal error: 'opencv2/core/core_c.h' file not found。
我尝试添加一个新的子文件夹路径,如-I./include/opencv -I./include/opencv2 -I./include/opencv2/core -I./implement -I. 这个错误仍在输出,-I 命令不会自动找到子文件夹的路径?我做错什么了吗?
【问题讨论】: