zoukankan      html  css  js  c++  java
  • No working C compiler found

    在CI服务器上编译x264,configure时出现“No working C compiler found”的诡异错误,说诡异是因为该项目在自己电脑上编译过n多遍了,没有遇到过。

    ./configure --enable-shared --enable-pic --disable-cli --prefix=/data/project/ENC4100/build/../3rdparty --extra-cflags="-fPIC -DENABLE_LMSDK" --extra-ldflags="-L/data/project/ENC4100/build/../3rdparty/lib -lintel_encode -lva -lva-drm -lmfxhw64"
    No working C compiler found.

    在网上搜了下有人说和编译器没安装好有关系,但试了下编译其它代码没有问题,并且系统和编译器安装命令都是用过多次的,这个环节出问题的可能性很小。

    再对比发现似乎和--extra-ldflags参数有关,开始一直怀疑编译脚本中双引号用的不规范,在不同机器上结果有差异造成的,追踪了半天没找到原因。

    后来单独将编译命令提取出来在shell中执行,发现错误依然存在。然后将命令拷贝到本机执行,依然存在,这回就好办了。

    在本机上用编译脚本执行,还是不出错。再次提取本机编译脚本的命令行和服务器的对比,发现只有-L路径不一样。至此可以确定和路径有关系了,进一步想到是configure时用--extra-ldflags的参数编译测试程序链接不成功导致的。检查-L的路径发现果然libmfxhw64.so库不存在,原因是近期调整工程目录,将git上3rdparty/lib中的预置库删除了,改成编译时拷贝或生成,但编译x264的步骤在拷贝libmfxhw64.so之前,因此出现了找不到库的情况。





  • 相关阅读:

    Elaxia的路线
    Sessions in BSU
    Mouse Hunt
    清北学堂 NOIP2017模拟赛 越赛越心塞
    BZOJ3571 HNOI2014 画框
    BZOJ4817 SDOI2017 相关分析
    BZOJ4009 HNOI2015 接水果
    CDQ分治与整体二分小结
    BZOJ3110 ZJOI2013 K大数查询
  • 原文地址:https://www.cnblogs.com/techsunny/p/3740669.html
Copyright © 2011-2022 走看看