Closed ryandesign closed 8 months ago
In other words, to use IOKit, only use
#include <IOKit/IOKit.h>
.
Well, forget that. Looks like IOKit is not one of those frameworks that uses an umbrella header; there is no IOKit/IOKit.h. And I grepped through the extant IOKit headers and none of them include the ones you're including, so it must be correct for you to include them directly.
The fix, then, is to include CoreFoundation/CoreFoundation.h directly. I've submitted a PR to do that.
Summary
Description
After applying #2361 to fix #2360, the build still fails on OS X 10.11 with these errors:
I was going to investigate but then had a power outage which interrupted my work so I'll just leave my notes here for now.
Those CF types are surely CoreFoundation types. I saw that you were including a couple individual headers from the IOKit framework, and evidently at least on this old version of macOS, those individual headers aren't including the CoreFoundation headers.
I suspect the solution may be not to include those individual headers but instead include only the top-level header, as is customary for frameworks. In other words, to use IOKit, only use
#include <IOKit/IOKit.h>
. Hopefully I can test later if that fixes it and if so I'll send a PR.