Closed KrzysFR closed 7 years ago
not sure why the dll is larger than the exe with less stuff (no CLI, ...) ???
Maybe Dead Code Elimination ? The CLI doesn't need to access all functions available in the library.
I'm getting some errors when I try to enable code analysis
Not sure if they are the same, but I also had some issues with some static analyzers, notably around table initialization, as their heuristic was too simple to properly understand that the table was correctly initialized. That's a bummer, because it indeed becomes a barrier to usage of static analysis on the rest of the code base, since a few warnings will always remain.
is v0.9.0 ok ?
yes
if the projects are for VS2012, they should probably target v120 anyway?
OK
if you have not installed the 12.0 SDK, VS will ask you to upgrade it to a newer version on first solution load. Only real solution for this is to do the same thing as zstd and have a suite of scripts to build
That looks like a good solution. No urgency, let's have a first working version to improve.
This PR fixes the existing VC2012 projects, and add a project to build libfse.dll (#74)
Changes:
DLL_EXPORT
compilation options (default to 1 in libfse) that enablesFSE_PUBLIC_API
andHUF_PUBLIC_API
macrosfse.h
andhuf.h
, (except everything that is marked for static linking only)FSE_VERSION_xxx
macros andFSE_versionNumber()
, which version current set to 0.9.0List of exported methods:
Binary sizes (release x64)
Remaining issues:
I'm getting some errors when I try to enable code analysis, which means I had to disable some options to make it work (EnablePREFast, AdditionalOptions, ...)
I've had Warning Treated As Errors issues that I had to disable for Release builds. Can't reproduce them anymore (maybe after fixing issues with code analysis) ?
not quite sure about the
FileDescription
andProductName
fields in the.rc
resources files.is v0.9.0 ok ?
I had to change platform to MSCVR v110 to v120xp: can't build v110 on my machine, and if the projects are for VS2012, they should probably target v120 anyway?
same issues as always with VS: if you have not installed the 12.0 SDK, VS will ask you to upgrade it to a newer version on first solution load. Only real solution for this is to do the same thing as zstd and have a suite of scripts to build (could probably copy/paste the ones in zstd....)