On 14-02-21 11:54 AM, Lex Trotman wrote:
On 22 February 2014 04:50, Dimitar Zhekov dimitar.zhekov@gmail.com wrote:
On Fri, 21 Feb 2014 16:52:51 +0100 Colomban Wendling lists.ban@herbesfolles.org wrote:
[...]
OK, I didn't think it was OK to assume GCC was the compiler,
It isn't, indeed. Although well, to be fair we probably have no idea what happens if it's not GCC-like. Or maybe I even remember there was problems with MSVC?
I guess it would be the same result as passing something like `-Wl,--export-dynamic` on platforms that don't support it (ie. compilation/linking failure). Even a GCC-clone like Clang has some different options, for example to limit errors is `-fmax-errors=N` on GCC and `-ferror-limit=N` on Clang (at least last time I tried). So I guess even if a compiler is GCC-like, passing an invalid `-Wfoo` might be bad, if not fatal.
MSVC is a totally different story WRT to flags of course :)
We disabled MSVC some time ago (see "geany-plugins fail to build with msvc"). In short, cl recognices "template" as C keyword :)
I thought Matthew fixed that so we could use C++ plugins.
Only in the headers, if 'template' is still used in source files it would choke a compiler that thought it was a C keyword.
and the
CFLAGS / LDFLAGS obtained from pkg-config under win~1 are suitable for gcc, not MSVC.
pkg-config on Windows supports an option called `--msvc-syntax` which presumably outputs CL-compatible flags.
But that is indeed a problem, presumably because things like gtk binaries have been cross compiled for win, not with msvc. Also is it
It shouldn't matter, C has a defined ABI AFAIK.
still true that g++ and msvc++ binaries can't be linked?
I think just because of C++ not having a defined ABI and compilers choosing to implement name-mangling and such differently. I don't think it matters for Geany though since nothing external would be linked with C++ symbols, even Scintilla's exposed stuff is plain/extern C AFAIK.
Cheers, Matthew Brush