因为倾向于发布单文件EXE的软件,我GOOGLE了一些关于QT静态链接的文章,大致说使用静态链接的话,出来的EXE体积会非常大。而要避免体积过大,必须在编译SDK的时候就要选好,需要哪些部分,抛弃哪些部分。
我有点不明白:静态库在编译时就决定好要谁不要谁,这不是非常不方便吗。我在编译SDK的时候还难以确认今后会用到哪些部分,而重新编译一次SDK消耗的时间又非常长。
我对这一部分还不太清楚。所以有如下疑问:
1. 链接器就不能智能地只加入需要的部分吗?
2. 如果我在源代码中写了一个从没用到的类、变量或函数,那么即使经过编译器优化,它们也会被编译进程序里吗?
我如果不编译SDK,直接引用SDK的源代码,有没有可能性?