首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NMAKE:如何强制调试版本?[7ZIP]

NMAKE:如何强制调试版本?[7ZIP]
EN

Stack Overflow用户
提问于 2019-06-04 09:57:44
回答 2查看 919关注 0票数 1

构建7Zip的建议方法是在命令行上通过nmake命令行实用程序。7zip似乎没有提供一个有效的visual studio解决方案。

我见过使用各种嵌套的.MAK文件启动构建时建议使用的nmake NEW_COMPILER=1 MY_STATIC_LINK=1等调用。

使用此命令行界面,我如何使用调试符号强制构建?

如果没有通过nmake实现这一点的标准方法,我很高兴得到关于7Zip的帮助。与GNU make相比,我对.MAK的了解要少得多,到目前为止,我还无法在GNU make in 7ZIP中找到类似于“调试目标”的东西。

EN

回答 2

Stack Overflow用户

发布于 2020-02-17 23:37:59

若要创建使用visual studio nmake的项目,需要编辑makefile并进行两次更改。

首先,需要将/Zi添加到编译时使用的标志列表中

代码语言:javascript
复制
CFLAGS = $(CFLAGS) -nologo -c -Fo$O/ -W4 -WX -EHsc -Gy -GR- -GF /Zi

其次,您需要将/debug添加到链接器的选项列表中,例如

代码语言:javascript
复制
LFLAGS = $(LFLAGS) -nologo -OPT:REF -OPT:ICF /DEBUG

我在一个不同的库上测试了它,我想这里会有相似之处。

票数 2
EN

Stack Overflow用户

发布于 2021-03-07 08:43:51

7zip归档程序提供了很好的压缩和性能结果,但不幸的是,它既没有构建过程的文档,也没有完整的代码。

我知道这个问题是在1.5年前提出的,但我希望能节省一些人在7z中挖掘的时间。

要从源代码构建7z,您需要Microsoft Visual Studio,并执行以下步骤:

  1. Start Tools适用于VS 2019的命令提示符
  2. 导航到sources文件夹cd c:\sources\7z
  3. Invoke nmake /f makefile

否则,您可以将MSVC6.0 dsw/dsp文件转换为最新的.vcxproj格式。只需在MSVC 2019中打开dsw文件,它将自动执行转换。

诀窍在于,您需要导航到项目目录才能做到这一点。7z构建系统硬绑定到相对目录结构,并从顶级主Build.mak文件中获取构建参数。

因此,如果您需要修改所有项目的构建参数,那么修改该文件就足够了。

对于7z version 19.00,您需要在CPP/Build.mak file中编辑这些行

  1. /Zi fag添加到行

CFLAGS = $(CFLAGS) -nologo -c -Fo$O/ -W4 -WX -EHsc -Gy -GR- -GF /Zi

  1. 添加/DEBUG

LFLAGS = $(LFLAGS) -nologo -OPT:REF -OPT:ICF /DEBUG

用于标志的

  1. Change -O1和-O2 CFLAGS_O1 CFLAGS_O2

!IF "$(PLATFORM)“== "x64”CFLAGS_O1 = $(CFLAGS) -Od !ELSE CFLAGS_O1 = $(CFLAGS) -Od !ENDIF CFLAGS_O2 = $(CFLAGS) -Od

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56436451

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档