Putting a big fat warning to never leave libformat again.
This commit is contained in:
parent
b48df3f4db
commit
f3b20f30c5
1 changed files with 28 additions and 0 deletions
28
README.md
28
README.md
|
|
@ -13,6 +13,34 @@ talks about. You know the one? You don't? Oh sorry, I thought you were cool.
|
|||
Currently it's only officially tested on Windows, but I'm not really using anything OS specific (I
|
||||
think).
|
||||
|
||||
## Why Not std::format/print?
|
||||
|
||||
Because there's a _TWO YEAR OLD_ bug in GCC that prevents compiling with the "new" (two years is
|
||||
"new" in C++) std::print, std::format functions:
|
||||
|
||||
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110572
|
||||
|
||||
If you statically link then the function `std::type_info` gets included twice because the library
|
||||
`stdc++exp` also includes it. Yes, you can't use the new print and format functions because some
|
||||
idiot included a bunch of useless functions in the "experimental" library, and it only is a problem
|
||||
when you statically link your binary.
|
||||
|
||||
But why statically link you ask? Oh, that's because Meson is too stupid to take all of the .dll
|
||||
files you need and _put them in one place_ so your fucking program will actually run. Meson instead
|
||||
leaves the .dll files scattered about the `builddir` directory in whatever random ass place each
|
||||
project decided to place them, so statically linking is the only way you'll reliably run your code.
|
||||
|
||||
Oh, but that's not all. Meson also makes the "genius" decision that if you download a project with a
|
||||
`.wrap` file that it will download it for you, compile it, and then _completely fucking ignore what
|
||||
it just built and use the system version of the .dll anyway_. Yes, Meson will go through the trouble
|
||||
of building a new .dll for you then not link against it.
|
||||
|
||||
So, since static linking is the only way to create a reliable executable, and static linking causes
|
||||
a bug in G++'s implementation of "experimental" (2 years old is experimental) print and format, then
|
||||
we have to libformat.
|
||||
|
||||
Congratualtions, you just became dumber for reading that.
|
||||
|
||||
## Where's the LICENSE?
|
||||
|
||||
You don't need a LICENSE that gives everything away to thieving corporations just to publish your
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue