Compilation 将Nmap编译为静态二进制文件

Compilation 将Nmap编译为静态二进制文件,compilation,static,nmap,Compilation,Static,Nmap,我正在尝试将Nmap安装为静态二进制文件。我试过几节“配置/制作”。错误会发生变化,但问题是Nmap源代码中包含的nsock依赖关系 我有一个用于openssl的静态二进制文件和用于zlib的静态库 以下是最新的章节和错误(注意:为了可读性,在多行上发布了长命令,实际上,它们是一行): 编译nmap rm -f nmap g++ -L/opt/laura/zlib-1.2.11 -L/opt/laura/openssl-1.1.0h_bis -L/opt/src/nmap-7.70/nsock

我正在尝试将Nmap安装为静态二进制文件。我试过几节“配置/制作”。错误会发生变化,但问题是Nmap源代码中包含的
nsock
依赖关系

我有一个用于openssl的静态二进制文件和用于zlib的静态库

以下是最新的章节和错误(注意:为了可读性,在多行上发布了长命令,实际上,它们是一行):

编译nmap

rm -f nmap
g++ -L/opt/laura/zlib-1.2.11 -L/opt/laura/openssl-1.1.0h_bis -L/opt/src/nmap-7.70/nsock -static -o nmap charpool.o FingerPrintResults.o FPEngine.o FPModel.o idle_scan.o MACLookup.o nmap_dns.o nmap_error.o nmap.o nmap_ftp.o NmapOps.o NmapOutputTable.o nmap_tty.o osscan2.o osscan.o output.o payload.o portlist.o portreasons.o protocols.o scan_engine.o scan_engine_connect.o scan_engine_raw.o scan_lists.o service_scan.o services.o NewTargets.o TargetGroup.o Target.o targets.o tcpip.o timing.o traceroute.o utils.o xml.o  main.o -lnsock -lnbase -lpcre libpcap/libpcap.a libssh2/lib/libssh2.a -lssl -lcrypto -lz libnetutil/libnetutil.a ./libdnet-stripped/src/.libs/libdnet.a  ./liblinear/liblinear.a -ldl
/usr/bin/ld: cannot find -lnsock
collect2: ld returned 1 exit status
make: *** [nmap] Error 1
nsock目录包含以下内容:

include  nsock.vcxproj  src  tests
在src dir中,configure和nsock.h位于include dir中

有什么帮助吗


KR

Nsock在Nmap中始终静态链接。使用
--with lib*
选项可以指示这些lib的安装位置,但您已经将其指向了源位置。只需将
--with libnsock
选项从配置行中去掉,它就可以正常构建。您可能还想添加
——使用lib{pcap,pcre,z,ssh2,dnet,lua,linear}=included
来构建和静态链接包含的库(除非您在希望链接到的其他地方构建和安装了静态库)

include  nsock.vcxproj  src  tests