amd_ags.h seems to have some support of compiling in plain C, because it contains #ifdef __cplusplus and lots oftypedef struct AGSXxx, but still not enough.
All structs and enums must be typedefed, or they must be used together with struct and enum, including forward declarations.
struct AGSContext; // bad
typedef struct AGSContext AGSContext; // good
amd_ags.h
seems to have some support of compiling in plain C, because it contains#ifdef __cplusplus
and lots oftypedef struct AGSXxx
, but still not enough.typedef
ed, or they must be used together withstruct
andenum
, including forward declarations.In addition, it uses types defined in
Windows.h
such asWCHAR
andHMODULE
. It should haveWindows.h
included.For me who only use AGS to fetch information of AMD gpus, it would be highly appreciated that you move
DX
related code into a separate file.Thanks in advance
Full errors: