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


编译通过,问题解决

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 孕妇手脚起湿疹怎么办 嘴巴破皮了怎么办 小便刺痛阴唇红肿怎么办 集成墙面挂照片怎么办 苹果电脑网页游戏打不开怎么办 苹果6plus发热怎么办 玩手游手机太卡怎么办 苹果七发烫厉害怎么办 苹果手机延迟高怎么办 王者荣耀总是卡怎么办 王者荣耀卡屏怎么办 王者荣耀网络延迟怎么办 荣耀8手机卡了怎么办 荣耀v10有点卡怎么办 荣耀10有点卡怎么办 8g内存吃鸡会崩怎么办 玩看门狗很卡怎么办 拼多多人数不够怎么办 玩cf想吐怎么办 玩手机头晕恶心怎么办 玩手机头疼恶心怎么办 看手机想吐怎么办 英雄联盟取名后怎么办 王者荣耀改名重复怎么办 刺激战场改名重复怎么办 省钱快报忘记密码怎么办 手机直播网速卡怎么办 触手tv直播黑屏怎么办 酷狗id密码忘记怎么办 打游戏网络不稳定怎么办 电脑打字法没了怎么办 家庭版密钥专业版系统怎么办 win7应用程序不能启动怎么办 win7用户密码忘记了怎么办 win7用户密码忘了怎么办 windows开不了机怎么办 网卡被卸载了怎么办 win7注销黑屏了怎么办 w7密码忘了怎么办 笔记本电脑键盘进水了怎么办 笔记本键盘进水了怎么办