zoukankan      html  css  js  c++  java
  • File format not recognized, treating as linker script

    问题背景:

        VirtualBox下linux虚拟机,  linux下其它目录git clone下code,编译正常。

        通过shared folders的方式,共享虚拟机linxu与win10主机之间进行文件传递。 配置好后,能正常共享文件,访问修改等操作。详细配置见前文:virtualBox6.1共享目录

         Win10下路径c:chared         Linux下路径: /home/xxx/shared_linux

       问题来了:  在共享目录下(whatever win10 or linux)git clone下来code,然后进行编译,提示错误:

                  libavfilter.so: file format not recognized, treating as linker script

                  libavfilter.so0: syntax error

                   

    总结:

             同一份code,在linux其它目录编译正常,在虚拟机下的共享目录下编译就报错误。 

    原因:

          查看正常能编译过的目录下:libavfilter.so,发现是一个软连接,link到libavfilter.so.7.57.100上,

                   切换到共享目录下,发现软连接不在了

                   这就明显了,由于共享目录,在win下由于文件系统不支持软连接,所以编译导致无法正常link到原始的库上,所以报错。

    解决:

        将正常能编译路径下的库,打个包tar, zip等,copy到共享目录,然后在win下使用win的解压缩工具解压开,即可。

                   

                   注意:不能在linux的解压,会报错:can not create symlink, win和linux的文件系统不一样,无法创建这个软连接的。

                    

  • 相关阅读:
    Java中String、StringBuffer和StringBuilder的区别
    Map集合学习
    Set集合学习
    List集合学习
    常用集合类简介及线程安全和非线程安全的集合对象
    JQuery入门
    原生Ajax使用
    JavaScript闭包
    Demo:servlet实现图片的上传
    Android Handler 内存泄漏问题
  • 原文地址:https://www.cnblogs.com/leehm/p/13158430.html
Copyright © 2011-2022 走看看