由于公司使用的openwrt的版本和芯片都发生了变化,所以交叉编译链也发生了变化。所以需要重新编译所有工程和使用的库。
在编译spdlog的时候,cmake-gui提示没有找到相应的线程库,即没有找到pthread的库。这个使用需要修改Makefile 。在makefile中增加如下:
set(CMAKE_THREAD_LIBS_INIT "-lpthread")。
这时候重新进行cmake没有发生错误。但是在进行例子的编译的时候提示
undefined reference to dlopen' undefined reference to
dlclose’
undefined reference to `dlsym’
的错误。这是由于pthread的库需要库libdl.so。所以提示错误。所以最终需要在makefie中增加如下:
set(CMAKE_THREAD_LIBS_INIT "-lpthread -ldl")
重新编译即可通过。