celtera / libremidi

A modern C++ MIDI 1 / MIDI 2 real-time & file I/O library. Supports Windows, macOS, Linux and WebMIDI.
Other
463 stars 52 forks source link

Project no longer compiles without warnings when using -Wall and -Wextra #90

Closed lilggamegenius closed 10 months ago

lilggamegenius commented 11 months ago

Currently some of the shared headers (and presumably the header-only version) compile with warnings if -Wall and -Wextra are enabled. This is causing my project to fail to build as I have -Werror enabled. I'm currently going through and working on some changes for a PR to fix this. the main warnings that are popping up are sign-compare and unused functions/parameters/variables. A lot of the sign-compare warnings come from implicit signed to unsigned for struct fields I feel may be better off as unsigned integers but I'm unsure if making that change could cause an ABI break of some sort. For now I'll keep those fields the same and just insert static_casts where needed.

jcelerier commented 11 months ago

wops, my bad! don't worry about a PR i'll check it out quickly

lilggamegenius commented 11 months ago

Oh I actually already fixed the warnings (and also edited the cmake config so other warning could be enabled if desired).

I can send it over if you'd like. I accidentally also changed cmidi2.hpp since I didn't realize it was from another library until I already finished. Those warnings should be fixable by moving that file out into a different folder and including it as a system library though.

Also the warnings leaking into my own project seems to be from cmake adding include paths as normal paths and system paths kind of defeating the purpose so I don't think its the libraries fault that happened.

jcelerier commented 11 months ago

yes, please make a PR! (without the cmidi2 changes as I did some upstream: https://github.com/atsushieno/cmidi2/pull/13)

jcelerier commented 10 months ago

Parches merged, thanks :)