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之前,因此出现了找不到库的情况。





  • 相关阅读:
    数据库连接池、事务
    JDBC、单元测试、DAO模式
    归并排序
    插入排序
    MySQL数据库
    JQuery
    JavaScript
    算法训练 连续正整数的和
    算法提高 寻找三位数
    算法训练 学做菜
  • 原文地址:https://www.cnblogs.com/techsunny/p/3740669.html
Copyright © 2011-2022 走看看