Я обнаружил эту библиотеку UserAgent Parser для C ++, которая мне показалась очень полезной.(https://github.com/ua-parser/uap-cpp)
Теперь для сборки этой библиотеки мне нужны библиотеки yaml-cpp и boost, что я уже сделал в своей системе. Теперь, когда я запускаю
make uaparser_cpp
в клонированной папке. Я получаю следующую ошибку.
Shrays-Air:uap-cpp Shray$ make uaparser_cpp
c++ -c -std=c++0x -Wall -Werror -fPIC -g -O3 UaParser.cpp -o UaParser.o
UaParser.cpp:10:10: error: 'yaml-cpp/yaml.h' file not found with <angled> include; use "quotes" instead
#include <yaml-cpp/yaml.h>
^~~~~~~~~~~~~~~~~
"yaml-cpp/yaml.h"
In file included from UaParser.cpp:10:
./yaml-cpp/yaml.h:10:10: fatal error: 'yaml-cpp/parser.h' file not found
#include "yaml-cpp/parser.h"
^
2 errors generated.
make: *** [UaParser.o] Error 1
Shrays-Air:uap-cpp Shray$ $
Makefile состоит из
ifndef LDFLAGS
LDFLAGS= -lboost_regex -lyaml-cpp
endif
ifndef CXXFLAGS
CXXFLAGS=-std=c++0x -Wall -Werror -fPIC -g -O3
endif
%.o: %.cpp
$(CXX) -c $(CXXFLAGS) $*.cpp -o $*.o
@$(CXX) -MM $(CXXFLAGS) $*.cpp > $*.d
uaparser_cpp: libuaparser_cpp.a
libuaparser_cpp.a: UaParser.o
ar rcs $@ $^
libuaparser_cpp.so: UaParser.o
$(LD) $< -shared $(LDFLAGS) -o $@
UaParserTest: libuaparser_cpp.a UaParserTest.o
$(CXX) $^ -o $@ libuaparser_cpp.a $(LDFLAGS) -lgtest -lpthread
test: UaParserTest
./UaParserTest
# clean everything generated
clean:
find . -name "*.o" -exec rm -rf {} \; # clean up object files
find . -name "*.d" -exec rm -rf {} \; # clean up dependencies
rm -f UaParserTest *.a *.so
# automatically include the generated *.d dependency make targets
# that are created from the wildcard %.o build target above
-include $(OBJS:.o=.d)
Можете ли вы помочь мне, как мнеиспользуйте make-файл и какие изменения я должен внести в него, чтобы правильно связать yaml-cpp и нужную библиотеку boost с моей библиотекой uap-cpp. Я только начинающий и никогда раньше не использовал make. Спасибо.:)
Редактировать 1: добавлено это в мой файл make.Но ничего не изменилось.Это все та же ошибка.Я включил скриншоты в каталог также. Каталог Yaml Каталог Uap-cpp
ifndef LDFLAGS
LDFLAGS= -L /Users/Desktop/boost_1_68_0/stage/lib/ -llibboost_regex.a -L/Users/Shray/Desktop/script/yaml-cpp/ -lboost_regex -lyaml-cpp
endif
ifndef CPPFLAGS
CPPFLAGS = -I/Users/Shray/Desktop/script/yaml-cpp/include/ -I/Users/Shray/Desktop/boost_1_68_0/
endif