manifest问题一直没怎么搞透,这周因为项目问题。终于彻底搞明白了。
manifest说本质上就是自己配置运行时库的问题。
1 如果全部采用静态链接,那么就不需要配置manifest 运行时库。
当自己的程序DLL不多时,这个方案很好。
2 DLL可以配置自己的manifest,或者取自己的宿主进程(exe),但不能取父亲DLL的运行时库。
所以如果DLL的宿主是自己的进程,那么只需要给自己的进程配置一次就好了,
但如果进程是别人的(比如IE),那么就需要给每个DLL配置manifest。
3 manifest有内置和外置的区别,一般最好用内置,因为外置manifest可能导致不容易被加载到(比如其他路径的宿主加载)。
4 内置manifest有两个方法,
1) 就是常规的指定文件,然后有一个embed选项为yes
2 ) 添加资源 类型是24 ID是2 系统就会将他当成manifest资源, 这样有一个不好,debug release不容易区分,所以采用方案1就好了。