Ubuntu20.04编译SCIP 7.0.3时cmake报错cannot find -lpthreads如何解决
修复SCIP编译cannot find -lpthreads错误的可行方案
前置检查
先确认系统依赖安装完整,执行以下命令: sudo apt install libpthread-stubs0-dev build-essential cmake
方案一:临时指定线程库参数(无需修改配置文件,优先推荐)
清空之前生成的编译缓存后,在执行cmake命令时手动指定正确的pthread库参数即可:
rm -rf build mkdir build && cd build cmake -DCMAKE_THREAD_LIBS_INIT=-lpthread .. make -j$(nproc)
该参数会直接覆盖cmake自动检测时生成的错误的-lpthreads拼写,不需要调整源码自带的配置文件。
方案二:修改源码的cmake配置
如果方案一不生效,直接在scipoptsuite源码目录下搜索所有包含lpthreads字符串的cmake配置文件:grep -r "lpthreads" ./
将搜索到的所有配置文件中出现的-lpthreads全部改为-lpthread,之后再正常执行cmake编译流程即可。
内容的提问来源于stack exchange,提问作者bananabook
相关产品推荐
相关产品推荐

