zoukankan      html  css  js  c++  java
  • make文件中静态连接库在command里面的位置

    linux软件第一次调用动态连接库的时候要延迟几秒,怀疑在突然掉库的时候动态库加载耗费了时间,所以造成延时,遂改为静态库方式,原来的makefile文件是

    testmac:
            cp $(IPC_DIR)/libmem.so ./
            cp $(IPC_DIR)/libipc.so ./
            $(CC) $(CFLAGS)  -L. -lmem -lipc   $(MACROS) -I $(SHAREINC_DIR)
            ./lib/int_sqrt.c
            ./src/ac_lteTestMac.c
            ./src/ac_lteTestMacInit.c
            ./src/ac_lteTestMacThread.c
            ./src/ac_lteTestPhy2MacMsgHandle.c
            ./src/ac_lteTestMac2PhyMsgHandle.c
            ./src/ac_lteTestMacSocketDumpHandle.c
            ./src/ac_lteTestMacProc.c
            ./src/ac_lteTestMacSocket.c
            ./src/ac_lteTestMacCasePostProc.c
            ./src/ac_lteTestMacStatCalc.c
            ./src/ac_lteTestMacTimeStamp.c
            ./src/ac_lteTestMacCmdLine.c
            ./src/ac_lteTestMac2PhyProc.c
            ./src/ac_lteTestMacDdrPerTest.c
            -g -o testmac9131 -Wl,-Map,testmac9131.map

    我改为

    testmac:
            cp $(IPC_DIR)/libmem.a ./
            cp $(IPC_DIR)/libipc.a ./
            $(CC) $(CFLAGS)  -L. -lmem -lipc   $(MACROS) -I $(SHAREINC_DIR)
            ./lib/int_sqrt.c
            ./src/ac_lteTestMac.c
            ./src/ac_lteTestMacInit.c
            ./src/ac_lteTestMacThread.c
            ./src/ac_lteTestPhy2MacMsgHandle.c
            ./src/ac_lteTestMac2PhyMsgHandle.c
            ./src/ac_lteTestMacSocketDumpHandle.c
            ./src/ac_lteTestMacProc.c
            ./src/ac_lteTestMacSocket.c
            ./src/ac_lteTestMacCasePostProc.c
            ./src/ac_lteTestMacStatCalc.c
            ./src/ac_lteTestMacTimeStamp.c
            ./src/ac_lteTestMacCmdLine.c
            ./src/ac_lteTestMac2PhyProc.c
            ./src/ac_lteTestMacDdrPerTest.c
            -g -o testmac9131 -Wl,-Map,testmac9131.map

    编译失败,/testmac/./src/ac_lteTestMacInit.c:151: undefined reference to `fsl_usmmgr_p2v'

    看了网上的一些文章,后面猜想是库的位置不对,因为.c文件依赖后面的.a里面的.o,修改makefile如下

    testmac:
            #cp $(IPC_DIR)/libmem.so ./
            #cp $(IPC_DIR)/libipc.so ./
            cp $(IPC_DIR)/libmem.a ./
            cp $(IPC_DIR)/libipc.a ./
            $(CC) $(CFLAGS)   $(MACROS) -I $(SHAREINC_DIR)
            ./lib/int_sqrt.c
            ./src/ac_lteTestMac.c
            ./src/ac_lteTestMacInit.c
            ./src/ac_lteTestMacThread.c
            ./src/ac_lteTestPhy2MacMsgHandle.c
            ./src/ac_lteTestMac2PhyMsgHandle.c
            ./src/ac_lteTestMacSocketDumpHandle.c
            ./src/ac_lteTestMacProc.c
            ./src/ac_lteTestMacSocket.c
            ./src/ac_lteTestMacCasePostProc.c
            ./src/ac_lteTestMacStatCalc.c
            ./src/ac_lteTestMacTimeStamp.c
            ./src/ac_lteTestMacCmdLine.c
            ./src/ac_lteTestMac2PhyProc.c
            ./src/ac_lteTestMacDdrPerTest.c
            -g -L. -lmem -lipc  -o testmac9131 -Wl,-Map,testmac9131.map


    编译通过,问题解决

  • 相关阅读:
    数据结构与算法(二)(栈、队列)
    数据结构与算法(一)(数组、线性查找、二分查找)
    ssm项目中常用的上传文件
    安全防御之防xss、SQL注入、与CSRF攻击
    int i=i++;和i=++i;和i++
    关于@Autowired和@Resource注解区别
    通过idea创建Maven项目整合Spring+spring mvc+mybatis
    深入理解java虚拟机(一)
    java中栈,堆,方法区
    SpringBoot+mybatis配置pagehelper实现基础分页
  • 原文地址:https://www.cnblogs.com/dyllove98/p/3225782.html
Copyright © 2011-2022 走看看