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

                    

  • 相关阅读:
    Eclipse调试Java的10个技巧
    什么是POJO?
    能够提高开发效率的Eclipse实用操作
    Oracle数据库查看执行计划
    Oracle执行计划详解
    Android接收wifi路由器发送过来的一组字节数据
    Android与路由器连接服务
    Android真机连接手机Target显示unknown cmd命令下adb devices 显示offline
    绿豆沙色值多少
    如何在Eclipse中添加Servlet-api.jar的方法
  • 原文地址:https://www.cnblogs.com/leehm/p/13158430.html
Copyright © 2011-2022 走看看