Coder Social home page Coder Social logo

Compilation problem under Windows about ui HOT 14 CLOSED

lpintes avatar lpintes commented on July 24, 2024
Compilation problem under Windows

from ui.

Comments (14)

andlabs avatar andlabs commented on July 24, 2024

Weird... can you post your sdkddkver.h?

from ui.

lpintes avatar lpintes commented on July 24, 2024

Here is my sdkddkver.h
Dňa 17. 8. 2014 16:55 Pietro Gagliardi wrote / napísal(a):

Weird... can you post your sdkddkver.h?


Reply to this email directly or view it on GitHub
#27 (comment).

/**

  • @file sdkddkver.h
  • Copyright 2012, 2013 MinGW.org project
    *
  • Permission is hereby granted, free of charge, to any person obtaining a
  • copy of this software and associated documentation files (the "Software"),
  • to deal in the Software without restriction, including without limitation
  • the rights to use, copy, modify, merge, publish, distribute, sublicense,
  • and/or sell copies of the Software, and to permit persons to whom the
  • Software is furnished to do so, subject to the following conditions:
    *
  • The above copyright notice and this permission notice (including the next
  • paragraph) shall be included in all copies or substantial portions of the
  • Software.
    *
  • THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  • IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  • FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  • AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  • LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
  • FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
  • DEALINGS IN THE SOFTWARE.
    _/
    #ifndef _SDKDDKVER_H
    #define SDKDDKVER_H
    #pragma GCC system_header
    /
    Do not include _mingw.h since _mingw.h includes this file.
    #include <_mingw.h>
    */

/**

/**

  • Macros to extract values from NTDDI version.
  • Derived from comments on MSDN or social.microsoft.com
    */
    #define OSVER(ver) ((ver) & OSVERSION_MASK)
    #define SPVER(ver) (((ver) & SPVERSION_MASK) >> 8)
    #define SUBVER(ver) ((ver) & SUBVERSION_MASK)
    #define WINNTVER(ver) ((ver) / 0x00010000)

/**

  • Macros to create the minimal NTDDI version from _WIN32_WINNT value.
    */
    #define NTDDI_VERSION_FROM_WIN32_WINNT(ver) _NTDDI_VERSION_FROM_WIN32_WINNT(ver)
    #define _NTDDI_VERSION_FROM_WIN32_WINNT(ver) ver##0000

/**

  • Version constants defining _WIN32_WINNT versions.
  • http://msdn.microsoft.com/en-us/library/windows/desktop/aa383745(v=vs.85).aspx
    */
    #define _WIN32_WINNT_NT4 0x0400
    #define _WIN32_WINNT_NT4E 0x0401
    #define _WIN32_WINNT_WIN95 0x0400
    #define _WIN32_WINNT_WIN98 0x0410
    #define _WIN32_WINNT_WINME 0x0490
    #define _WIN32_WINNT_WIN2K 0x0500
    #define _WIN32_WINNT_WINXP 0x0501
    #define _WIN32_WINNT_WS03 0x0502
    #define _WIN32_WINNT_WIN6 0x0600
    #define _WIN32_WINNT_VISTA 0x0600
    #define _WIN32_WINNT_WS08 0x0600
    #define _WIN32_WINNT_LONGORN 0x0600
    #define _WIN32_WINNT_WIN7 0x0601
    #define _WIN32_WINNT_WIN8 0x0602

/**

/**

  • Version constants defining NTDDI_VERSION.
  • http://msdn.microsoft.com/en-us/library/windows/desktop/aa383745(v=vs.85).aspx
    */
    #define __NTDDI_WIN5 0x05000000
    #define __NTDDI_WIN51 0x05010000
    #define __NTDDI_WIN52 0x05020000
    #define __NTDDI_WIN6 0x06000000
    #define __NTDDI_WIN61 0x06010000
    #define __NTDDI_SP0 0x00000000
    #define __NTDDI_SP1 0x00000100
    #define __NTDDI_SP2 0x00000200
    #define __NTDDI_SP3 0x00000300
    #define __NTDDI_SP4 0x00000400

#define NTDDI_WIN2K __NTDDI_WIN5 + __NTDDI_SP0
#define NTDDI_WIN2KSP1 __NTDDI_WIN5 + __NTDDI_SP1
#define NTDDI_WIN2KSP2 __NTDDI_WIN5 + __NTDDI_SP2
#define NTDDI_WIN2KSP3 __NTDDI_WIN5 + __NTDDI_SP3
#define NTDDI_WIN2KSP4 __NTDDI_WIN5 + __NTDDI_SP4

#define NTDDI_WINXP __NTDDI_WIN51 + __NTDDI_SP0
#define NTDDI_WINXPSP1 __NTDDI_WIN51 + __NTDDI_SP1
#define NTDDI_WINXPSP2 __NTDDI_WIN51 + __NTDDI_SP2
#define NTDDI_WINXPSP3 __NTDDI_WIN51 + __NTDDI_SP3

#define NTDDI_WS03 __NTDDI_WIN52 + __NTDDI_SP0
#define NTDDI_WS03SP1 __NTDDI_WIN52 + __NTDDI_SP1
#define NTDDI_WS03SP2 __NTDDI_WIN52 + __NTDDI_SP2

#define NTDDI_VISTA __NTDDI_WIN6 + __NTDDI_SP0
#define NTDDI_VISTASP1 __NTDDI_WIN6 + __NTDDI_SP1
#define NTDDI_VISTASP2 __NTDDI_WIN6 + __NTDDI_SP2

#define NTDDI_LONGHORN NTDDI_VISTA

#define NTDDI_WIN6 NTDDI_VISTA
#define NTDDI_WIN6SP1 NTDDI_VISTASP1
#define NTDDI_WIN6SP2 NTDDI_VISTASP2

#define NTDDI_WS08 __NTDDI_WIN6 + __NTDDI_SP1

#define NTDDI_WIN7 __NTDDI_WIN61 + __NTDDI_SP0

/**

  • Assign defaults
    */
    #ifdef NTDDI_VERSION

    ifdef _WIN32_WINNT

    if _WIN32_WINNT != OSVER(NTDDI_VERSION)

    error The _WIN32_WINNT value does not match NTDDI_VERSION

    endif

    else

    define _WIN32_WINNT WINNTVER(NTDDI_VERSION)

    ifndef WINVER

    define WINVER _WIN32_WINNT

    endif

    endif

    #endif

#ifndef _WIN32_WINNT

ifdef WINVER

define _WIN32_WINNT WINVER

else

ifdef _WARN_DEFAULTS

warning _WIN32_WINNT is defaulting to _WIN32_WINNT_WIN2K

endif

define _WIN32_WINNT _WIN32_WINNT_WIN2K

endif

#endif

#ifndef WINVER

define WINVER _WIN32_WINNT

#endif

#ifndef NTDDI_VERSION

ifdef _WARN_DEFAULTS

warning NTDDI_VERSION is defaulting to _WIN32_WINNT version SPK0

endif

define NTDDI_VERSION NTDDI_VERSION_FROM_WIN32_WINNT(_WIN32_WINNT)

#endif

#endif

from ui.

andlabs avatar andlabs commented on July 24, 2024

Are you sure that's the sole compile error? What happens if you set CGO_CFLAGS=-Wall -Wextra -pedantic?

from ui.

lpintes avatar lpintes commented on July 24, 2024

I am sure this is whole compiler error. I redirected the output to the
clipboard.
So I wrote:
set CGO_CFLAGS="-Wall -Wextra -pedantic"
go install

And I obtained this:

github.com/andlabs/ui/redo

gcc: error: "-Wall: Invalid argument
gcc: error: unrecognized command line option '-pedantic"'

from ui.

andlabs avatar andlabs commented on July 24, 2024

Remove the quotes; Windows set is very literal and takes everything after the =, including spaces.

from ui.

lpintes avatar lpintes commented on July 24, 2024

Ok I corrected my mistake and here is the new output:

github.com/andlabs/ui/redo

In file included from c:\mingw\include_mingw.h:35:0,
from c:\mingw\include\windows.h:28,
from winapi_windows.h:17,
from
c:\go\src\github.com\andlabs\ui\redo\area_windows.go:12:
c:\mingw\include\sdkddkver.h:137:8: error: #error The _WIN32_WINNT value
does not match NTDDI_VERSION

error The _WIN32_WINNT value does not match NTDDI_VERSION

     ^

In file included from
c:\go\src\github.com\andlabs\ui\redo\area_windows.go:12:0:
winapi_windows.h:24:21: fatal error: vsstyle.h: No such file or directory
#include <vsstyle.h>
^
compilation terminated.

from ui.

andlabs avatar andlabs commented on July 24, 2024

Hm... can you try installing a mingw-w64 setup and using that? I'll investigate the issue with the vanilla MinGW folks in the meantime. Thanks.

from ui.

andlabs avatar andlabs commented on July 24, 2024

Second thought: https://www.google.com/search?client=ubuntu&channel=fs&q=mingw+vsstyles.h&ie=utf-8&oe=utf-8#channel=fs&q=mingw+vsstyles.h+-w64 looks like vanilla MinGW doesn't include vsstyle.h, so I'm going to have to mandate -w64. Sorry about that :/

from ui.

 avatar commented on July 24, 2024

Is there a resolution to this problem? On Windows 8, 64 bit go get results in:

C:\Users\J\GoProjects\src>go get github.com/andlabs/ui
github.com/andlabs/ui
In file included from github.com\andlabs\ui\area_windows.go:12:0:
winapi_windows.h:24:21: fatal error: vsstyle.h: No such file or directory
compilation terminated.

from ui.

andlabs avatar andlabs commented on July 24, 2024

The only solution is to use Mingw-w64. The problem is MinGW has an incomplete Windows setup. Sorry :/

from ui.

jroosing avatar jroosing commented on July 24, 2024

Would this work with msys2? I seem to have the library but i still get the same error.

from ui.

andlabs avatar andlabs commented on July 24, 2024

It should. Are you building from the MinGW-w64 32-bit/64-bit Shell or the MSYS Shell?

from ui.

jroosing avatar jroosing commented on July 24, 2024

I am building from the MSYS shell. Would that be the problem? I will certainly take a look when I am home. Thanks for your swift reply.

from ui.

andlabs avatar andlabs commented on July 24, 2024

Yes; try building from the MinGW-w64 Shell that comes with MSYS.

from ui.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.