问题:
-
由于在编译的过程需要引入numa库,多线程库,而LevelDB的源码工程师通过CMake方式创建的,正常的编译方式为
cmake --build .
无法直接在后面补充 -lnuma -pthread等选项,报错如下
查找资料发现需要对CMakeLists.txt文件进行修改
解决方法:
- 通常有add_compile_options和set(CMAKE_CXX_FLAGS -xx)两种方法,经过测试发现set的方法可行,在CMakeLists.txt中补充如下两句话,再次编译不报错
set(CMAKE_CXX_FLAGS -lnuma)
set(CMAKE_CXX_FLAGS -pthread)
message(STATUS "CMAKE_CXX_FLAGS = ${CMAKE_CXX_FLAGS}")