Coder Social home page Coder Social logo

MSVC 14 supported about gvsbuild HOT 11 CLOSED

wingtk avatar wingtk commented on September 13, 2024
MSVC 14 supported

from gvsbuild.

Comments (11)

pbor avatar pbor commented on September 13, 2024

Hi, we definetely want to support MSVC14, but we are not using it yet so we do not have a way to test right now.

However Fan's upstream projects already support it and also the hexchat script we forked from recently switched to it so it should be fairly easy to do.

Mostly it will be a matter of adding "vs14" folders for each module and copying the files

from gvsbuild.

intity avatar intity commented on September 13, 2024

Hi pbor,
I managed to compile only part of the library. Here is the result of compilation:
...
The following items were successfully built:
ffmpeg
freetype
gettext-runtime
hicolor-icon-theme
libepoxy
libffi
libpng
libxml2
lmdb
openssl
pixman
win-iconv
zlib

The following items failed to build:
fontconfig

The following items were not built because one or more of the other items failed to build:
atk
cairo
cyrus-sasl
enchant
gdk-pixbuf
glib
glib-networking
gsettings-desktop-schemas
gtk
gtk3
harfbuzz
libcroco
librsvg
libsoup
pango
...
It seems that the library 'fontconfig' is not supported for compiling vc14 because of an error (see. fontconfig_error_vc14.txt)

Full report compilation: build_vc14_0.txt

from gvsbuild.

pbor avatar pbor commented on September 13, 2024

try to change the file

fontconfig/config.h

It has a line

#define snprintf _snprintf

change to something like

#ifndef snprintf
#define snprintf _snprintf
#endif

Note that you will need to remove the "build" and "gtk" dir and restart the build

from gvsbuild.

intity avatar intity commented on September 13, 2024

This method does not work (see. fontconfig_error_vc14_2.txt)

from gvsbuild.

pbor avatar pbor commented on September 13, 2024

well, the error is now different so it seems to have sorted some kind of effect... can you post the full log for the build failure?

from gvsbuild.

intity avatar intity commented on September 13, 2024

This is a known bug compilation vc14 (fatal error C1189: #error: Macro definition of snprintf conflicts with Standard Library function declaration).

Full report compilation: build_vc14_1.txt

from gvsbuild.

pbor avatar pbor commented on September 13, 2024

I see... then try to completely remove that line.
Later we can find a proper ifdef
Il 15/Gen/2016 19:56, "Vite" [email protected] ha scritto:

This is a known bug compilation vc14 (fatal error C1189: #error: Macro
definition of snprintf conflicts with Standard Library function declaration
http://stackoverflow.com/questions/27754492/vs-2015-compiling-cocos2d-x-3-3-error-fatal-error-c1189-error-macro-definiti
).

Full report compilation build_vc14_1.txt
https://www.dropbox.com/s/brhkhczv4agns2p/build_vc14_1.txt?dl=0


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

from gvsbuild.

intity avatar intity commented on September 13, 2024

I did not notice the existing directive #define printf _printf in the file 'config.h'. I added a condition to downgrade MSVC:

#if _MSC_VER < 1900
#define snprintf _snprintf
#endif

Full report compilation: build_vc14_2.txt

from gvsbuild.

intity avatar intity commented on September 13, 2024

Error compiling libraries 'enchant': enchant_error_vc14.txt
Full report compilation: build_vc14_3.txt
It seems there is problem solving:
typedef int ssize_t; (#10)

It is necessary to check on the compiler vc12.

from gvsbuild.

pbor avatar pbor commented on September 13, 2024

Yeah, looking at what the hexchat guys did here hexchat/gtk-win32@2f3c96d I think you need to drop the "_W64" (I am not sure what it is exactly)

from gvsbuild.

nacho avatar nacho commented on September 13, 2024

This is superseded by #52

from gvsbuild.

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.