Ini files are not compiled by C++ compilers usually. Rather, C++ compilers compile C++ source files. In fact, ini files are not generally compiled at all, since ini files are not a compiled language.
The C (which is essentially same as C++) pre-processor is not intended for other macro processing than for purposes of the language. Some compilers do allow you to invoke the pre-processor separately without compilation. An example:
gcc -E file.ini
But since the purpose is for the compilation, this will in addition to processing and replacing your directives with the corresponding output, add implementation defined directives for purpose of the compiler. If your ini processor supports #
character as a comment, then these directives would conveniently be interpreted as comments. Otherwise, this is probably not usable for you.
Regardless, there are other, independent macro languages as well as template processors than the one used by the C pre-processor. I suggest you use one of them.