make文件中静态连接库在command里面的位置
来源:互联网 发布:淘宝最红小模特小女孩 编辑:程序博客网 时间:2024/06/05 11:57
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里面的位置
- 关于linux下make文件连接静态库的问题
- 如何在Qt中写自己的静态连接库
- python-Django中设置静态文件和模板的位置
- 从连接文件中创造静态库
- 在cpp文件中使用类的静态static数据报连接错(LNK2001)
- /NOENTRY在VS里面的设置位置
- 在Makefile.am中添加make install 的安装文件
- 使用make更新静态库文件[转载]
- 使用make更新静态库文件
- 使用make更新静态库文件
- Makefile里面的$(MAKE)
- CSS文件在jsp 文件中应该放的位置
- 如何在VS2012 C++项目里面添加静态库文件lib
- struts2中删除放置在指定位置的文件
- 在vs2008中调整lib文件输出的位置
- 在Linux中查找某个文件的位置
- 查找一串字母在一个文件中出现的位置
- 使用openssl库EVP编程计算sha256值
- 取得相同id 下日期最大的对象
- C++ini读写配置文件
- 主流服务器apache、IIS、tomcat、jboss、resin、weblogic、websphere的区别
- 约瑟夫环数学递推公式及其证明
- make文件中静态连接库在command里面的位置
- OpenCV 2 学习笔记(1): OpenCV 2.4.3 的安装
- PHP + MYSQL 的OA为什么不值钱?
- 使用 F12 工具控制台查看错误和状态
- 6410之点其他的灯,让其闪烁
- lua学习笔记3之数组与结构
- iOS开发之Objective-C与JavaScript的交互
- hdu-4501-小明系列故事——买年货(四维背包)
- Java开发03---Mockito简介