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
编译通过,问题解决
make文件中静态连接库在command里面的位置的更多相关文章
- Qt动态连接库/静态连接库创建与使用,QLibrary动态加载库
版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:Qt动态连接库/静态连接库创建与使用,QLibrary动态加载库 本文地址:https ...
- VC++静态连接库
目录 第1章静态连接库 1 1.1 同名函数的选择 1 1.2 模块合并 2 1.2.1 模块替换 4 1.3 内联函数 4 第1章静态连接库 静态连接库与动态连接库一样 ...
- mysql如何从全备文件中恢复单个库或者单个表
mysql如何从全备文件中恢复单个库或者单个表 在mysql dba的日常实际工作中,一个实例下有多个库,而我们常见的备份就是全库备份.那么问题就来了,如果需要恢复单个库或者单个表,怎么办了,网上有很 ...
- 从MySQL全备文件中恢复单个库或者单个表
从MySQL全备文件中恢复单个库或者单个表 提取建库语句 sed -n '/^-- Current Database: db_cms/,/^-- Current Database: `/p' back ...
- windows 查看动态连接库和静态连接库的方法
在window下查看动态库的导出函数可以用vs自带的Dependenc工具: 查看静态库的信息要用命令行来实现: dumpbin /LINKERMEMBER Test.lib > ...
- Modelsim SE自动化仿真——如何将.do文件中自定义的库链接到testbench顶层模块
我们用Modelsim SE进行仿真时,为了方便,一般会编写.do文件来启动当前仿真.关于.do文件的编写,一般网上都有成型的模板,我们只要稍微改几个参数,就可以符合我们的仿真需求了.但是如果仿真时需 ...
- Linux 静态链接库和动态连接库
(0)文件夹 VMware 下安装Ubuntu的吐血经历 零基础学习Shell编程 Linux下的makefile的妙用 Linux调试神器 -- gdb 十分钟学会Python的基本类型 Linux ...
- (C#)WPF:.h(头文件)、.lib(静态链接库文件)和.dll(动态链接库文件)之间的区别与联系
静态链接库(Lib)与动态链接库(DLL)的区别 静态连接库就是把(lib)文件中用到的函数代码直接链接进目标程序,程序运行的时候不再需要其它的库文件:动态链接就是把调用的函数所在文件模块(DLL)和 ...
- 制作与使用静态链接库(.lib)文件
(一)制作.lib文件 (1)打开vs,选择“新建项目”,选择“Visual C++“,选择”Win32 控制台应用程序“. (2)点击”确定“,点击”下一步“,设置如下 (3)点击”完成“,然后就可 ...
随机推荐
- Spring3.0提供的表达式语言spel
package com.zf.spel; import java.lang.reflect.Method; import java.util.ArrayList; import java.util.D ...
- JS 单击复制,复制后变为已复制
这段代码是在新浪网站上找到的.先放出CSS代码: .focus a.arrow,.card_con4 li i,.cm1_menu_wrap a.cm1_menu_box,.cm1_img span, ...
- php $_server 整理
$_SERVER['PHP_SELF'] #当前正在执行脚本的文件名,与 document root相关. $_SERVER['argv'] #传递给该脚本的参数. $_SERVER['argc'] ...
- 关于Python文档读取UTF-8编码文件问题
近来接到一个小项目,读取目标文件中每一行url,并逐个请求url,拿到想要的数据. #-*- coding:utf-8 -*- class IpUrlManager(object): def __in ...
- 嵌入式 python之str操作
1.字符串的对齐方式:①:center(int[,str])>>> string = 'Fishhat'>>> string.center(55)' ...
- WinPcap编程(二)
0. 这一次具体讲抓包的两种方法. (建议)清除ARP表,最好自己写个批处理命令.快一点. 1.0 抓包步骤 步骤很简单:先打开适配器列表 --> 选择适配器 --> 通过遍历链表的方式到 ...
- 扩展《C程序设计语言》练习2-3程序通用性
最近开始自学C语言,在看K&R的<C程序设计语言>.练习2-3要求写一个函数,将输入的十六进制数字字符串转换成与之等价的整数值,配套答案没有扩展程序的通用性,所以我就稍微改造改造. ...
- POJ 3356(最短编辑距离问题)
POJ - 3356 AGTC Time Limit: 1000MS Memory Limit: 65536KB 64bit IO Format: %I64d & %I64u Desc ...
- 原生网络请求:同步请求、异步请求、GET请求、POST请求
1.同步请求可以从因特网请求数据,一旦发送同步请求,程序将停止用户交互,直至服务器返回数据完成,才可以进行下一步操作, 2.异步请求不会阻塞主线程,而会建立一个新的线程来操作,用户发出异步请求后,依然 ...
- codevs 1017 乘积最大
1017 乘积最大 2000年NOIP全国联赛普及组NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 查看运行结果 题目描 ...