конфигурация make-файла bcp boost regex - PullRequest
0 голосов
/ 18 апреля 2020

Я использую bcp для сканирования своего проекта и нахождения всех зависимостей буста, а затем копирую их в мою папку буста.

Для всего, что требует только заголовков, это нормально, но для заголовков, нуждающихся в build, мне нужно собрать их библиотеку.

Я использую Make для сборки и скоро переключусь на CMake для гибкости процесса сборки, и я хочу включить регулярное выражение сборки вместе с остальными моего кода.

Как мне это сделать?

Вот мой текущий make-файл, он не работает так, как я думал:

MAKEFILE_NAME = ${firstword ${MAKEFILE_LIST}}
MKDIR_P = mkdir -p

INCLUDE = -Isrc -Isrc/lut -Isrc/state -Isrc/lut/boost
# MAIN = src/main.o
BOOST_CPP = $(wildcard src/lut/lib/*.cpp src/lut/lib/**/*.cpp)
BOOST_O = ${BOOST_CPP:.cpp=.o}
OBJECTS = src/lut/card_tree.o src/state/state.o src/state/card_library.o src/lut/field.o src/lut/field_tree.o src/lut/path_helper.o ${BOOST}
TEST_OBJECTS = tests/card_tree_tests.o tests/test_main.o tests/state_tests.o tests/field_tree_tests.o

DEPENDS = ${OBJECTS:.o=.d} ${TEST_OBJECTS:.o=.d} ${MAIN:.o=.d}

OUTDIR = bin
EXEC = munchkins.out
TEST_EXEC = munchkins.test

CXX = g++
CXXFLAGS = -g -Wall -DDEBUG -MMD -std=c++11 ${INCLUDE}



.PHONY : clean obj

${EXEC} : ${OBJECTS} ${TEST_OBJECTS}
    ${MKDIR_P} ${OUTDIR}
    ${CXX} ${CXXFALGS} $^ -o ${OUTDIR}/${TEST_EXEC}

${OBJECTS} : ${MAKEFILE_NAME}

obj : ${OBJECTS} ${MAIN}
        ${MKDIR_P} ${OUTDIR}
        ${CXX} ${CXXFLAGS} $^ -o ${OUTDIR}/$@

-include ${DEPENDS}

clean :
        rm -f ${DEPENDS} ${MAIN} ${OBJECTS} ${TEST_OBJECTS} ${OUTDIR}/${EXEC} ${OUTDIR}/${TEST_EXEC}

Я пытался чтобы получить .cpps в верхней части для файлов .o, но это, конечно, не сработало.

Я получаю эту ошибку, когда пытаюсь скомпилировать, потому что она не может связать:

Undefined symbols for architecture x86_64:
  "boost::regex_error::regex_error(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, boost::regex_constants::error_type, long)", referenced from:

А затем переходит к списку неопределенных символов, относящихся к регулярному выражению.

Как включить библиотеку регулярных выражений в мою сборку?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...