编译7z.dll fatal error LNK1107

【1】这是现在网上搜到的,可是不能用

 

 【解决方案】fatal error LNK1107: 文件无效或损坏: 无法在 0x2E0 处读取

是FAT32系统分区的问题.如果你的硬盘式用NTFS就没有问题。。。
解决方法:
项目-->项目属性-->配置属性-->清单工具-->使用FAT32解决方法为 是
就OK了。我也找了很久才成功的。祝你好运~~

 

【2】最终解决方法

 

2010-03-28 08:11:17 UTC
Igor, I tried to build CPP/7zip/UI/Console and CPP/7zip/ Bundles/Format7zF in Debug and got the following error on link stage: 7zCrcOpt.obj : fatal error LNK1107: invalid or corrupt file: cannot read at 0x276 True: the obj length is accurately 0x276. At the same time, Release is built ok. This is because in Debug 7zCrcOpt.asm custom build rule is "ml.exe -c -omf ..." while it is "ml.exe -c ..." in Release. -omf switch means "generate OMF format object file". What the hell is this option for? Anyway, setting custom build rule to "ml.exe -c" in Debug solves this issue and projects are built successfully.
见7z Forums
http://sourceforge.net/projects/sevenzip/forums/forum/45797/topic/3646176
具体是在
Bundles/Format7z的工程里,在Asm/7zCrcOpt.asm上右键属性,去掉常规-->命令行中的-omf
同样在Asm/AesOpt.asm中去掉-c以外的选项

你可能感兴趣的:(object,File,Build,工具,2010)