因为开发需要, 我需要一个带有 DWARF2 调试信息的 nmap PE32 executable QWQ, 可是我平时的工作环境都是 Linux, 很少在 Windows 下编译程序, 看了 nmap 的 Document , 发现我虚拟机里的 XP 用的 VS2010 不能够编译这个项目= = (打不开 sln 文件, 早就已经弃了 Windows 的我 QWQ) , 于是换用 VS2013 编译, 这次倒是可以编译了, 不过我在工程设置里找了好久也不知道如何给编译出来的程序加上 DWARF2 调试信息, 我需要在 Linux 下用这个调试信息进行调试 QWQ
有没有什么好的方法 or 提示 ,能够在 Windows 下用 CB 或者在 Linux 下用交叉编译的方法编译好 nmap, 我觉得如果可以抛弃 msvc++编译器用 gnu 的编译器这个问题解决起来就方便了 QWQ
附上 nmap 的源码链接一枚 https://github.com/nmap/nmap
先谢谢各位了 QAQ
1
VOID001 OP 不要沉啊 QWQ, 如果我的描述不是很清楚麻烦说出来我会尽量描述的更清楚的 0.0
|
2
clijiac 2016-01-13 11:22:17 +08:00
不懂. 不过可以用 mingw 编译吧 .
http://tdm-gcc.tdragon.net/download |
3
VOID001 OP @clijiac 问题是他是一个工程,依赖很复杂, 还需要 wpcap.dll , 单独交叉编译一个文件倒是可以在 Linux 下用 mingw gcc 或者在 Windows 下用 mingw gcc , 可是这是个工程= = 如果有什么办法把这个工程转成 CB 能识别的工程格式问题就容易多了 QWQ
|
4
clijiac 2016-01-13 12:06:04 +08:00
并不懂 c++ 不能用 vs 直接调试么. vs 的调试信息能不能转换什么的~
|
5
lovewilliam 2016-01-13 12:10:44 +08:00 1
得看你是要动态链接,还是静态链接。
如果是静态链接,而且``依赖很复杂'',意味着你要重新编译所有的依赖以包含所有的 DWARF2 消息。 说白了就是你只关心 nmap 自己的 debug 消息,还是所有的依赖你也关心。 |
6
jackal 2016-01-14 14:59:41 +08:00
建议你直接在 Linux 平台上运行编译好的(带 DWARF2 的调试信息)的 Linux 可执行程序 nmap , 而不是 nmap.exe 。
多少这也能算是备选方案。 在 Linux 下也可以进行图形调试(如果有对应的工具),并不是难事。 |