永发信息网

vs2013加载DLL文件智能提示问题

答案:1  悬赏:40  手机版
解决时间 2021-03-31 10:10
vs2013加载DLL文件智能提示问题
最佳答案
VS 2005在生成可执行文件时用了一种新的技术,该技术生成的可执行文件会伴随生成1个清单文件(manifest file)(.manifest后缀文件)(其本质上是XML文档,你可以用文本编辑器打开(OPEN)看看),并在链接完成后将该清单文件嵌入到exe文件中(默认情形下)。而在FAT32文件系统(System)中,在处理清单文件阶段,当增量链接时不能完成清单文件的更新(默认情形下),于是造成清单文件嵌入失败,从而使该exe文件运行时木有相应的清单文件而运行失败并提醒如上错误。 处理方案特别多,列举如下: 1. 由于这是在链接动态运行库出现的问题,因此你可以选取代码生成的连接方式为/MTd而非/MDd,不用这类DLL文件从而避免问题的出现。该方法有1个很显然的缺点:适用范围有限,不推选该方法。 2. 既然跟FAT32系统(System)有关,那么我们可以选取在NTFS文件系统(System)中开发从而避免该问题,此方法同上,也是采用的回避问题的方式,不提倡。 3. 该方法仍与FAT32有关:在项目的“属性|配置属性|清单工具|常规”中的“用FAT32处理方法”选取“是”(默认为“否”),重新生成项目即可处理问题。该方法是唯一真正针对问题所在而提出的处理方法,使清单工具可以正确更新。(此方法是官方处理方法,也比较方便,推选) 4. 既然问题是在更新嵌入的清单文件时发生的,由于FAT32的原因而未能更新嵌入的清单文件,于是我们有如下两种处理方法: (1)不启用增量链接。在项目的“属性|配置属性|链接器|常规”中的“启用增量链接”选取“否”。此方法阻断了问题产生的源头,其每回生成exe文件时都直接嵌入清单文件,而不是默认的根据时戳而决定是不是更新清单文件。 (2)不嵌入清单文件。在项目的“属性|配置属性|清单工具|输入和输出”中的“嵌入清单”选取“否”,从而在生成exe文件时附随生成1个清单文件(默认情形下,其文件名为exe文件的全名加上“.manifest”),避免了嵌入清单文件可能失败的问题。在程序运行时,会用到该清单文件。显然,这种方式使可执行程序产生了更多的外部依赖,不推选。 另外,还有1个不能称为方法的土方法:每回Build前手动删掉*.ilk文件(增量链接文件)(当然可以在项目属性中写入删掉命令,使其自动执行),不推选该土方法。 最后,总结一下: 1. 此问题只在特定条件下才会出现:在FAT32文件系统(System)中编译、默认设置(增量模式、不启用FAT32处理方案、嵌入清单文件)、非第一次生成可执行文件文件(即在增量连接、更新清单文件时)。 2. 处理方案1和4.1方便实用,推选用。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
谁学在西洋,仕在北洋,娶在东洋,什么在南洋
移动互联网电视安装什么软件看电视直播
卡特336D原装喷油嘴多少钱一套?
小孩子不经意?间发现掉了一撮头发是怎么回事
韩寒现在办的杂志叫什么
混沌与秩序2提示可更新游戏.怎么办
这两株是什么盆栽
住宅客厅墙壁上挂什么图好
1/6除以4/3减去1/10加2/5怎
万众顺和禧怎么样?好不好?值不值得买?
肯德基热辣薯片脆皮鸡好吃吗
骆驼一分钟能喝多少水
王耀庆个人资料现任老婆照片
求教公证书的复印件具有法律效力吗?
请问雁立沙洲是什么意思?
推荐资讯
#include<stdio.h> int main() { int a; prin
王者安琪拉怎么去带整个团队的节奏
聊城那家理发店烫发做的好?具体位置。以及价
一台离心泵22KW流量186吨杨程38米 和 一台11K
求尼禄偶像皇帝的高清图片,能做手机壳的那种
汽车电动车窗怎么关
Geforce 4 MX4000的详细介绍
81.5×括号负0.1999括号减0.815乘负9.99
老公婚外情如何处理:哪些情况不适合地约见第
全国有哪几种玉,主要产地在哪里?
谷歌地球上的一些当地照片是怎么添加的?
帮我简单说一下里约奥运会最感动难忘的时刻
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?