如何在Visual Studio 2017中编译7zip源代码?

问题描述 投票:-1回答:1

遵循here的教程。我无法使用lzma1900 SDK生成可执行文件。

这是powershell的输出。

PS C:\Users\testbench\Downloads\7ZipSDK\CPP> "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars32.bat"
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars32.bat
PS C:\Users\testbench\Downloads\7ZipSDK\CPP> nmake NEW_COMPILER=1 
MY_STATIC_LINK=1 Build.mak

Microsoft (R) Program Maintenance Utility Version 14.16.27030.1 Copyright (C) Microsoft Corporation.  All rights reserved.

    if not exist "o" mkdir "o"
    if not exist "o/asm" mkdir "o/asm"
    link  -nologo -OPT:REF -OPT:ICF /LARGEADDRESSAWARE /FIXED:NO -out:o\   
 oleaut32.lib ole32.lib user32.lib advapi32.lib shell32.lib
LINK : fatal error LNK1104: cannot open file 'o\'
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual 
Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\Hostx86\x86\link.EXE"' 
: return code '0x450'
Stop.

我正在使用这个nmake版本和ml.exe版本:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\Hostx86\x86

我还安装了Windows SDK。为什么我运行那个bat脚本时没有加载它。如何使用Visual Studio 2017编译最新的lzma SDK

c++ visual-studio visual-c++ makefile 7zip
1个回答
0
投票

发布答案以供将来参考:

7-Zip的开发者提供了两个源代码。

  1. 7-Zip应用程序。
  2. LZMA算法实现在(C,C ++,C#,java)中。

可以使用位于内部的makefile为Windows生成Executable

7z1900-SRC / CPP / 7zip的/生成文件。

我在2015年使用了MSBUILD commandpromt。(注意:通过运行vcvarsall.bat然后执行“nmake”命令来实现此目的的另一种方法

如果您想了解7Z的工作原理,那么“Alone.dsw”就是您所需要的。它在里面

7z1900-SRC / CPP / 7zip的/捆绑/孤独/ Alone.dsw

您需要在Project Property中将“Debug Information Format”更改为Program Database / Zi。它是在C / C ++ - > General下。

我希望它有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.