From: duerst@... Date: 2016-07-07T01:14:41+00:00 Subject: [ruby-core:76283] [Ruby trunk Bug#12545] Ruby 2.3.1 compilation error [Windows] Issue #12545 has been updated by Martin D��rst. Ivan Serdyuk wrote: > Various versions of Microsoft compiler gave same errors. Can you say which ones, exactly? Were there Microsoft compilers that didn't give these errors? > Might suggestion is that it is some sort of typdef related resolution issue. > > My proposal is to split this win32.c file into different files, allow one of those to completely cover all definitions, and compiler would compile .a (or .lib ?) file. After that, another file would contain practical code, with pre-compiled header as a MUST. But that would require to modify Makefile generator. A patch, or a series of patches, would be very helpful. > I do not see any configuration against Windows version (WinAPI). API seam to got changed since versions. Besides performance improvements would be affected for Windows 7/8/10, so this raises more questions. My guess is to compare MSDN libraries, and to choose different implementation. The cygwin and mingw versions seem to work independently of Windows versions, which suggests that it's not a Windows versions problem. But I'm not at all a Windows expert. > Please vote and switch it to a proper status. For Ruby, there's no voting (except with actual contributions such as patches). I'm keeping it in the 'feedback' state because a patch is also a kind of feedback. ---------------------------------------- Bug #12545: Ruby 2.3.1 compilation error [Windows] https://bugs.ruby-lang.org/issues/12545#change-59527 * Author: Ivan Serdyuk * Status: Feedback * Priority: Normal * Assignee: Nobuyoshi Nakada * ruby -v: ruby 2.3.1 (2016-04-26 patchlevel 112) [i386-mswin32_80] * Backport: 2.1: UNKNOWN, 2.2: UNKNOWN, 2.3: UNKNOWN ---------------------------------------- Greetings. Having problems with compilation: Microsoft (R) Program Maintenance Utility Version 8.00.50727.42 Copyright (C) Microsoft Corporation. All rights reserved. CC = cl -nologo LD = cl -nologo LDSHARED = cl -nologo -LD CFLAGS = -MD -Zi -W2 -wd4100 -wd4127 -wd4210 -wd4214 -wd4255 -wd4574 -w d4668 -wd4710 -wd4711 -wd4820 -wd4996 -we4028 -we4142 -O2sy- -Zm600 XCFLAGS = -DRUBY_EXPORT -I. -I.ext/include/i386-mswin32_80 -I./include - I. -I./missing CPPFLAGS = -D_WIN32_WINNT=0x0600 DLDFLAGS = -incremental:no -debug -opt:ref -opt:icf -dll SOLIBS = compiling win32/win32.c win32.c win32/win32.c(3953) : error C2143: syntax error : missing ')' before '*' win32/win32.c(3953) : error C2081: 'NET_LUID' : name in formal parameter list il legal win32/win32.c(3953) : error C2143: syntax error : missing '{' before '*' win32/win32.c(3953) : error C2059: syntax error : ')' win32/win32.c(3953) : error C2059: syntax error : ';' win32/win32.c(3954) : error C2143: syntax error : missing ')' before '*' win32/win32.c(3954) : error C2143: syntax error : missing '{' before '*' win32/win32.c(3954) : error C2059: syntax error : ',' win32/win32.c(3954) : error C2059: syntax error : ')' win32/win32.c(3955) : error C2061: syntax error : identifier 'pConvertInterfaceG uidToLuid' win32/win32.c(3955) : error C2059: syntax error : ';' win32/win32.c(3955) : error C2513: '/*global*/ ' : no variable declared before ' =' win32/win32.c(3956) : error C2061: syntax error : identifier 'pConvertInterfaceL uidToNameA' win32/win32.c(3956) : error C2059: syntax error : ';' win32/win32.c(3956) : error C2513: '/*global*/ ' : no variable declared before ' =' win32/win32.c(3979) : error C2065: 'pConvertInterfaceGuidToLuid' : undeclared id entifier win32/win32.c(3981) : error C2065: 'cigl_t' : undeclared identifier win32/win32.c(3981) : error C2146: syntax error : missing ';' before identifier 'get_proc_address' win32/win32.c(3983) : error C2065: 'pConvertInterfaceLuidToNameA' : undeclared i dentifier win32/win32.c(3985) : error C2065: 'cilnA_t' : undeclared identifier win32/win32.c(3985) : error C2146: syntax error : missing ';' before identifier 'get_proc_address' win32/win32.c(3992) : error C2065: 'NET_LUID' : undeclared identifier win32/win32.c(3992) : error C2146: syntax error : missing ';' before identifier 'luid' win32/win32.c(3992) : error C2065: 'luid' : undeclared identifier win32/win32.c(4001) : error C2063: 'pConvertInterfaceGuidToLuid' : not a functio n win32/win32.c(4002) : error C2063: 'pConvertInterfaceLuidToNameA' : not a functi on NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 8\VC\BIN\c l.EXE"' : return code '0x2' Stop. Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 14.00.50727.42 for 80x86 ---Files-------------------------------- win32.c (171 KB) -- https://bugs.ruby-lang.org/ Unsubscribe: