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

编译通过,问题解决

make文件中静态连接库在command里面的位置的更多相关文章

  1. Qt动态连接库/静态连接库创建与使用,QLibrary动态加载库

    版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:Qt动态连接库/静态连接库创建与使用,QLibrary动态加载库     本文地址:https ...

  2. VC++静态连接库

    目录 第1章静态连接库    1 1.1 同名函数的选择    1 1.2 模块合并    2 1.2.1 模块替换    4 1.3 内联函数    4 第1章静态连接库 静态连接库与动态连接库一样 ...

  3. mysql如何从全备文件中恢复单个库或者单个表

    mysql如何从全备文件中恢复单个库或者单个表 在mysql dba的日常实际工作中,一个实例下有多个库,而我们常见的备份就是全库备份.那么问题就来了,如果需要恢复单个库或者单个表,怎么办了,网上有很 ...

  4. 从MySQL全备文件中恢复单个库或者单个表

    从MySQL全备文件中恢复单个库或者单个表 提取建库语句 sed -n '/^-- Current Database: db_cms/,/^-- Current Database: `/p' back ...

  5. windows 查看动态连接库和静态连接库的方法

    在window下查看动态库的导出函数可以用vs自带的Dependenc工具: 查看静态库的信息要用命令行来实现: dumpbin   /LINKERMEMBER   Test.lib   >   ...

  6. Modelsim SE自动化仿真——如何将.do文件中自定义的库链接到testbench顶层模块

    我们用Modelsim SE进行仿真时,为了方便,一般会编写.do文件来启动当前仿真.关于.do文件的编写,一般网上都有成型的模板,我们只要稍微改几个参数,就可以符合我们的仿真需求了.但是如果仿真时需 ...

  7. Linux 静态链接库和动态连接库

    (0)文件夹 VMware 下安装Ubuntu的吐血经历 零基础学习Shell编程 Linux下的makefile的妙用 Linux调试神器 -- gdb 十分钟学会Python的基本类型 Linux ...

  8. (C#)WPF:.h(头文件)、.lib(静态链接库文件)和.dll(动态链接库文件)之间的区别与联系

    静态链接库(Lib)与动态链接库(DLL)的区别 静态连接库就是把(lib)文件中用到的函数代码直接链接进目标程序,程序运行的时候不再需要其它的库文件:动态链接就是把调用的函数所在文件模块(DLL)和 ...

  9. 制作与使用静态链接库(.lib)文件

    (一)制作.lib文件 (1)打开vs,选择“新建项目”,选择“Visual C++“,选择”Win32 控制台应用程序“. (2)点击”确定“,点击”下一步“,设置如下 (3)点击”完成“,然后就可 ...

随机推荐

  1. PHP 数据库 ODBC

    PHP 数据库 ODBC ODBC 是一种应用程序编程接口(Application Programming Interface,API),使我们有能力连接到某个数据源(比如一个 MS Access 数 ...

  2. JTree用法及JTree使用经验总结

    import  java.awt.Dimension; import  java.awt.Color; import  javax.swing.JFrame; import  javax.swing. ...

  3. 【USACO 1.1.1】你的飞碟在这儿

    [问题描述] 一个众所周知的事实,在每一慧星后面是一个不明飞行物UFO. 这些不明飞行物时常来收集来自在地球上忠诚的支持者. 不幸地,他们的空间在每次旅行只能带上一群支持者. 他们要做的是用一种聪明的 ...

  4. 文件操作1-php

    is_file (PHP 3, PHP 4, PHP 5) is_file -- 判断给定文件名是否为一个正常的文件 说明 bool is_file ( string filename ) 如果文件存 ...

  5. 94 Binary Tree Inorder Traversal(二叉树中序遍历Medium)

    题目意思:二叉树中序遍历,结果存在vector<int>中 解题思路:迭代 迭代实现: /** * Definition for a binary tree node. * struct ...

  6. win7 该任务映像已损坏或一篡改

    首先找到任务计划程序快捷方式的位置,我的是win7系统,是在:控制面板-->管理工具-->任务计划程序 打开任务计划程序出现了下面的异常提示: 出现了这个异常之后,创建任务.创建基本任务菜 ...

  7. java获取天气信息

    通过天气信息接口获取天气信息,首先要给项目导入程序所需要的包,具体需要如下几个包: json-lib-2.4.jar ezmorph-1.0.6.jar commons-beanutils-1.8.3 ...

  8. jquery学习(2)toggle

    $(function(){ $("#panel h5.head").hover(function(){ //交替执行该函数 $(this).next().show(); },fun ...

  9. bzoj3576: [Hnoi2014]江南乐

    Description 小A是一个名副其实的狂热的回合制游戏玩家.在获得了许多回合制游戏的世界级奖项之后,小A有一天突然想起了他小时候在江南玩过的一个回合制游戏.    游戏的规则是这样的,首先给定一 ...

  10. 转:Google论文之二----Google文件系统(GFS)翻译学习

    文章来自于:http://www.cnblogs.com/geekma/archive/2013/06/09/3128372.html 摘要 我们设计并实现了Google文件系统,它是一个可扩展的分布 ...