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的文件系统不一样,无法创建这个软连接的。

                    

  • 相关阅读:
    关于MapReduce中自定义分区类(四)
    关于MapReduce中自定义分组类(三)
    UiAutomator2.0
    Java_集合框架
    Python爬取指定重量的快递价格
    Java_面向对象
    Java_异常以及处理
    Java_File类
    Java_Scanner和System类
    Java_Runtime&Process&ProcessBuilder
  • 原文地址:https://www.cnblogs.com/leehm/p/13158430.html
Copyright © 2011-2022 走看看