robertdavidgraham / masscan

TCP port scanner, spews SYN packets asynchronously, scanning entire Internet in under 5 minutes.
GNU Affero General Public License v3.0
23.27k stars 3.05k forks source link

Error compiling windows #383

Open illera88 opened 5 years ago

illera88 commented 5 years ago

Tested using VS2017 and VS2015 x64 Win10

1>c:\users\alberto\documents\code\masscan\src\stub-lua.c(72): error C2440: '=': cannot convert from 'FARPROC' to 'const lua_Number *(__cdecl *)(lua_State *)'
1>c:\users\alberto\documents\code\masscan\src\stub-lua.c(75): error C2440: '=': cannot convert from 'FARPROC' to 'void (__cdecl *)(lua_State *)'
1>c:\users\alberto\documents\code\masscan\src\stub-lua.c(76): error C2440: '=': cannot convert from 'FARPROC' to 'int (__cdecl *)(lua_State *,int,const char *)'
1>c:\users\alberto\documents\code\masscan\src\stub-lua.c(77): error C2440: '=': cannot convert from 'FARPROC' to 'int (__cdecl *)(lua_State *,const char *)'
...
yuriyv commented 5 years ago

fix works

crazyn2 commented 5 years ago

please give more details.

kouzhudong commented 5 years ago

1>------ 已启动生成: 项目: masscan, 配置: Debug Win32 ------ 1> xring.c 1> vulncheck.c 1> vulncheck-sslv3.c 1> vulncheck-ntp-monlist.c 1> vulncheck-heartbleed.c 1> versioning.c 1> util-malloc.c 1> templ-pkt.c 1> templ-payloads.c 1> syn-cookie.c 1> stub-pfring.c 1> stub-pcap.c 1> stub-lua.c 1>d:\code\git\masscan\src\stub-lua.c(76): error C2440: “=”: 无法从“FARPROC”转换为“const lua_Number (__cdecl )(lua_State )” 1>d:\code\git\masscan\src\stub-lua.c(79): error C2440: “=”: 无法从“FARPROC”转换为“void (__cdecl )(lua_State )” 1>d:\code\git\masscan\src\stub-lua.c(80): error C2440: “=”: 无法从“FARPROC”转换为“int (__cdecl )(lua_State ,int,const char )” 1>d:\code\git\masscan\src\stub-lua.c(81): error C2440: “=”: 无法从“FARPROC”转换为“int (cdecl )(lua_State ,const char )” 1>d:\code\git\masscan\src\stub-lua.c(82): error C2440: “=”: 无法从“FARPROC”转换为“int (__cdecl )(lua_State ,int,lua_Integer)” 1>d:\code\git\masscan\src\stub-lua.c(83): error C2440: “=”: 无法从“FARPROC”转换为“int (__cdecl )(lua_State *)” 1>d:\code\git\masscan\src\stub-lua.c(84): error C2440: “=”: 无法从“FARPROC”转换为“int (cdecl )(lua_State ,int)” 1>d:\code\git\masscan\src\stub-lua.c(85): error C2440: “=”: 无法从“FARPROC”转换为“int (cdecl )(lua_State ,int)” 1>d:\code\git\masscan\src\stub-lua.c(86): error C2440: “=”: 无法从“FARPROC”转换为“int (__cdecl )(lua_State ,int)” 1>d:\code\git\masscan\src\stub-lua.c(87): error C2440: “=”: 无法从“FARPROC”转换为“int (cdecl )(lua_State ,int)” 1>d:\code\git\masscan\src\stub-lua.c(88): error C2440: “=”: 无法从“FARPROC”转换为“int (cdecl )(lua_State ,int)” 1>d:\code\git\masscan\src\stub-lua.c(89): error C2440: “=”: 无法从“FARPROC”转换为“lua_State *(cdecl )(lua_State )” 1>d:\code\git\masscan\src\stub-lua.c(90): error C2440: “=”: 无法从“FARPROC”转换为“void (__cdecl )(lua_State ,std::size_t)” 1>d:\code\git\masscan\src\stub-lua.c(91): error C2440: “=”: 无法从“FARPROC”转换为“int (__cdecl )(lua_State ,int,int,int,lua_KContext,lua_KFunction)” 1>d:\code\git\masscan\src\stub-lua.c(92): error C2440: “=”: 无法从“FARPROC”转换为“void (__cdecl )(lua_State ,lua_CFunction,int)” 1>d:\code\git\masscan\src\stub-lua.c(93): error C2440: “=”: 无法从“FARPROC”转换为“void (__cdecl )(lua_State ,lua_Integer)” 1>d:\code\git\masscan\src\stub-lua.c(94): error C2440: “=”: 无法从“FARPROC”转换为“const char (cdecl )(lua_State ,const char *,std::size_t)” 1>d:\code\git\masscan\src\stub-lua.c(95): error C2440: “=”: 无法从“FARPROC”转换为“void (cdecl )(lua_State ,lua_Number)” 1>d:\code\git\masscan\src\stub-lua.c(96): error C2440: “=”: 无法从“FARPROC”转换为“const char (__cdecl )(lua_State ,const char )” 1>d:\code\git\masscan\src\stub-lua.c(97): error C2440: “=”: 无法从“FARPROC”转换为“void (cdecl )(lua_State ,int)” 1>d:\code\git\masscan\src\stub-lua.c(98): error C2440: “=”: 无法从“FARPROC”转换为“int (cdecl )(lua_State ,lua_State *,int)” 1>d:\code\git\masscan\src\stub-lua.c(99): error C2440: “=”: 无法从“FARPROC”转换为“void (cdecl )(lua_State ,int,const char *)” 1>d:\code\git\masscan\src\stub-lua.c(100): error C2440: “=”: 无法从“FARPROC”转换为“void (cdecl )(lua_State ,const char )” 1>d:\code\git\masscan\src\stub-lua.c(101): error C2440: “=”: 无法从“FARPROC”转换为“void (__cdecl )(lua_State ,int,lua_Integer)” 1>d:\code\git\masscan\src\stub-lua.c(102): error C2440: “=”: 无法从“FARPROC”转换为“void (__cdecl )(lua_State ,int)” 1>d:\code\git\masscan\src\stub-lua.c(103): error C2440: “=”: 无法从“FARPROC”转换为“int (__cdecl )(lua_State ,int)” 1>d:\code\git\masscan\src\stub-lua.c(104): error C2440: “=”: 无法从“FARPROC”转换为“lua_Integer (__cdecl )(lua_State ,int,int )” 1>d:\code\git\masscan\src\stub-lua.c(105): error C2440: “=”: 无法从“FARPROC”转换为“const char (__cdecl )(lua_State ,int,size_t )” 1>d:\code\git\masscan\src\stub-lua.c(106): error C2440: “=”: 无法从“FARPROC”转换为“lua_Number (cdecl )(lua_State ,int,int )” 1>d:\code\git\masscan\src\stub-lua.c(107): error C2440: “=”: 无法从“FARPROC”转换为“int (__cdecl )(lua_State ,int)” 1>d:\code\git\masscan\src\stub-lua.c(108): error C2440: “=”: 无法从“FARPROC”转换为“const char (cdecl )(lua_State ,int)” 1>d:\code\git\masscan\src\stub-lua.c(109): error C2440: “=”: 无法从“FARPROC”转换为“const lua_Number (__cdecl )(lua_State )” 1>d:\code\git\masscan\src\stub-lua.c(110): error C2440: “=”: 无法从“FARPROC”转换为“void (__cdecl )(lua_State ,lua_State ,int)” 1>d:\code\git\masscan\src\stub-lua.c(111): error C2440: “=”: 无法从“FARPROC”转换为“int (cdecl )(lua_State ,int,lua_KContext,lua_KFunction)” 1>d:\code\git\masscan\src\stub-lua.c(113): error C2440: “=”: 无法从“FARPROC”转换为“lua_Integer (cdecl )(lua_State ,int)” 1>d:\code\git\masscan\src\stub-lua.c(114): error C2440: “=”: 无法从“FARPROC”转换为“const char (__cdecl )(lua_State ,int,size_t )” 1>d:\code\git\masscan\src\stub-lua.c(115): error C2440: “=”: 无法从“FARPROC”转换为“void (__cdecl )(lua_State ,int,const char )” 1>d:\code\git\masscan\src\stub-lua.c(116): error C2440: “=”: 无法从“FARPROC”转换为“lua_Integer (cdecl )(lua_State ,int)” 1>d:\code\git\masscan\src\stub-lua.c(117): error C2440: “=”: 无法从“FARPROC”转换为“int (cdecl )(lua_State ,const char ,std::size_t,const char ,const char *)” 1>d:\code\git\masscan\src\stub-lua.c(118): error C2440: “=”: 无法从“FARPROC”转换为“int (cdecl )(lua_State ,const char ,const char )” 1>d:\code\git\masscan\src\stub-lua.c(119): error C2440: “=”: 无法从“FARPROC”转换为“int (cdecl )(lua_State ,const char )” 1>d:\code\git\masscan\src\stub-lua.c(120): error C2440: “=”: 无法从“FARPROC”转换为“int (__cdecl )(lua_State ,const char )” 1>d:\code\git\masscan\src\stub-lua.c(121): error C2440: “=”: 无法从“FARPROC”转换为“lua_State (__cdecl )(void)” 1>d:\code\git\masscan\src\stub-lua.c(122): error C2440: “=”: 无法从“FARPROC”转换为“void (cdecl )(lua_State )” 1>d:\code\git\masscan\src\stub-lua.c(123): error C2440: “=”: 无法从“FARPROC”转换为“int (__cdecl )(lua_State ,int)” 1>d:\code\git\masscan\src\stub-lua.c(124): error C2440: “=”: 无法从“FARPROC”转换为“void (cdecl )(lua_State ,const luaL_Reg ,int)” 1>d:\code\git\masscan\src\stub-lua.c(125): error C2440: “=”: 无法从“FARPROC”转换为“void (__cdecl )(lua_State ,const char )” 1>d:\code\git\masscan\src\stub-lua.c(126): error C2440: “=”: 无法从“FARPROC”转换为“void (__cdecl )(lua_State ,int,int)” 1> string_s.c 1> smackqueue.c 1> smack1.c 1> siphash24.c 1> scripting.c 1> scripting-masscan.c 1> scripting-banner.c 1> 正在生成代码... 1> 正在编译... 1> rte-ring.c 1> read-service-probes.c 1> rawsock.c 1> rawsock-pcapfile.c 1> rawsock-getroute.c 1> rawsock-getmac.c 1> rawsock-getip.c 1> rawsock-getif.c 1> rawsock-arp.c 1> ranges6.c 1> ranges.c 1>d:\code\git\masscan\src\ranges.c(587): warning C4028: 形参 1 与声明不同 1> range-file.c 1>d:\code\git\masscan\src\range-file.c(370): warning C4100: “targets_ipv6”: 未引用的形参 1> rand-primegen.c 1> rand-lcg.c 1> rand-blackrock.c 1> proto-zeroaccess.c 1> proto-x509.c 1> proto-vnc.c 1> proto-udp.c 1> proto-tcp-telnet.c 1> 正在生成代码... 1> 正在编译... 1> proto-preprocess.c 1> pixie-timer.c 1> pixie-threads.c 1> output.c 1> main.c 1>d:\code\git\masscan\src\main.c(265): warning C4244: “初始化”: 从“const double”转换到“uint64_t”,可能丢失数据 1> main-throttle.c 1> main-status.c 1> main-initadapter.c 1> main-dedup.c 1> main-conf.c 1> logger.c 1> proto-tcp.c 1> proto-tcp-rdp.c 1> proto-ssl.c 1> proto-ssl-test.c 1> proto-ssh.c 1> proto-snmp.c 1> proto-smtp.c 1> proto-smb.c 1> proto-sctp.c 1> 正在生成代码... 1> 正在编译... 1> proto-pop3.c 1> proto-oproto.c 1>d:\code\git\masscan\src\proto-oproto.c(8): warning C4100: “entropy”: 未引用的形参 1>d:\code\git\masscan\src\proto-oproto.c(7): warning C4100: “parsed”: 未引用的形参 1>d:\code\git\masscan\src\proto-oproto.c(6): warning C4100: “length”: 未引用的形参 1>d:\code\git\masscan\src\proto-oproto.c(6): warning C4100: “px”: 未引用的形参 1>d:\code\git\masscan\src\proto-oproto.c(5): warning C4100: “timestamp”: 未引用的形参 1>d:\code\git\masscan\src\proto-oproto.c(5): warning C4100: “out”: 未引用的形参 1> proto-ntp.c 1> proto-ntlmssp.c 1> proto-netbios.c 1> proto-memcached.c 1> proto-interactive.c 1> proto-imap4.c 1> proto-icmp.c 1> proto-http.c 1> proto-ftp.c 1> proto-dns.c 1> proto-coap.c 1> proto-banout.c 1> proto-banner1.c 1> proto-arp.c 1> pixie-file.c 1> pixie-backtrace.c 1>d:\code\git\masscan\src\pixie-backtrace.c(166): warning C4477: “printf”: 格式字符串“%0X”需要类型“unsigned int”的参数,但可变参数 3 拥有了类型“ULONG64” 1> d:\code\git\masscan\src\pixie-backtrace.c(166): note: 请考虑在格式字符串中使用“%llX” 1> d:\code\git\masscan\src\pixie-backtrace.c(166): note: 请考虑在格式字符串中使用“%I64X” 1> out-xml.c 1> out-unicornscan.c 1> 正在生成代码... 1> 正在编译... 1> out-text.c 1> out-tcp-services.c 1> out-redis.c 1> out-null.c 1> out-ndjson.c 1> out-json.c 1> out-grepable.c 1>d:\code\git\masscan\src\out-grepable.c(156): warning C4477: “fprintf”: 格式字符串“%lu”需要类型“unsigned long”的参数,但可变参数 1 拥有了类型“time_t” 1> d:\code\git\masscan\src\out-grepable.c(156): note: 请考虑在格式字符串中使用“%llu” 1> d:\code\git\masscan\src\out-grepable.c(156): note: 请考虑在格式字符串中使用“%I64u” 1> out-certs.c 1> out-binary.c 1> masscan-app.c 1> in-binary.c 1> main-src.c 1> main-readrange.c 1> main-ptrace.c 1> main-listscan.c 1> in-report.c 1> in-filter.c 1> event-timeout.c 1> crypto-blackrock2.c 1> crypto-base64.c 1> 正在生成代码... ========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========

kouzhudong commented 5 years ago

VS2017和VS2015编译都这样。 类型转换失败。

freedomyueye commented 4 years ago

please give more details.

stub-lua.c :68 name = (void*(*)())GetProcAddress(lib, #name);

freedomyueye commented 4 years ago

please give more details.

LNK Error: add misc-rstfilter.c in Project