QtEmbedded-4.8.6-arm 编译选择从 动态库变化到静态库 时,生成的Makefile链接库路径下如果有动态库和静态库,优先选择动态库编译应用

问题:QtEmbedded-4.8.6-arm 编译选择从 动态库到静态库 时,发现的一个疑惑:,生成的Makefile链接库路径下如果有动态库和静态库,优先选择动态库编译应用

具体现象:

我最初是使用动态库的 QtEmbedded-4.8.6-arm (编译器选择时,是 ./configure  -release -shared  )

变化成静态库的 QtEmbedded-4.8.6-arm (编译器选择时,是 ./configure   -release -static )

所以在目录下我保留了 一个库的2个状态:静态库和动态库

然后我随便弄了一个工程  untitled.pro

qmake untitled.pro --->生成 Makefile

Makefile里的LIBS 指向 安装的目录 

make clean;make; ---->生成 target文件 static 大小是 29k 大小明显是链接了动态库的。

arm-linux-readelf -d static ----->  提示需要连接 QtGui 等 动态库

进行修好Makefile 将路径指向只有静态库的文件夹,例如本地

make clean;make ;---->生成 static  大小为 7.3M ,正常(我进行过裁剪)

arm-linux-readelf -d static -----> 没有 提示需要连接 QtGui 等 库

可以直接运行。

思考:

所以同个libs目录下,如果存在同一个库2种形态,会优先选择动态库?暂时这个结论

猜你喜欢

转载自blog.csdn.net/xiuscut/article/details/82996747
今日推荐