regex - bcp boost 正则表达式 makefile 配置
问题描述
我正在使用 bcp 扫描我的项目并找到所有 boost 依赖项,然后将它们复制到我的 boost 文件夹中。
对于只需要标题的所有内容,这很好,但对于需要构建的标题,我需要构建他们的库。
我正在使用 Make 进行构建,并且很快将切换到 CMake 以实现构建过程的灵活性,并且我想将构建正则表达式与我的其余代码一起包含在内。
我该怎么做呢?
这是我当前的makefile,它不像我想象的那样工作:
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}
我试图在 .o 文件的顶部获得 boost .cpps,但这当然不起作用。
当我尝试编译时出现此错误,因为它无法链接:
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:
然后继续列出一堆与正则表达式相关的未定义符号。
如何在我的构建中包含正则表达式库?
解决方案
推荐阅读
- mathematical-optimization - Ipopt, lg(mu) 随着进一步的迭代而增加
- javascript - 如何在rest api中以安全的方式发送应用程序密钥?
- reactjs - 如何键入 react useState 钩子?
- java - 如何在重新调整导致 ResponseEntity 时区分两个数组列表
- spring-boot - Thymeleaf - 包含子域片段中的内容
- android - 移动到android中的新位置后,如何在另一个imageview的底部对齐imageview?
- r - 使用键重命名列表中的数据框
- c++ - c++ 通用回调对象实现
- javascript - 当它检查不存在时,如何在循环中添加一个对象?
- python - 在python tkinter中用新标签替换标签