Estoy teniendo problemas con los archivos de cabecera en MacOS Catalina. Obtengo errores de la herramienta de línea de comandos como el siguiente :
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/resource.h:443:29: error: parameter name omitted
int getiopolicy_np(int, int) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0);
^~~
y errores de gcc
/usr/local/Cellar/gcc@8/8.3.0/lib/gcc/8/gcc/x86_64-apple-darwin18/8.3.0/include-fixed/math.h:535:15: error: storage class specified for parameter 'nextafte'
extern double nextafter(double, double);
Me meto en los archivos de cabecera y gcc en MacOS Catalina uso este respuesta como punto de referencia. La respuesta dice
Regarding header locations, I have Apples headers in /Library/Developer/CommandLineTools/: $ sudo find /Library -name stdio.h /Library/Developer/CommandLineTools/usr/include/c++/v1/stdio.h /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/stdio.h /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdio.h /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Kernel.
Cuando ejecuto el mismo comando, las ubicaciones de las cabeceras son ligeramente diferentes:
/Library/Developer/CommandLineTools/usr/include/c++/v1/stdio.h
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/sys/stdio.h
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/stdio.h
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/Kernel.framework/Versions/A/Headers/sys/stdio.h
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/sys/stdio.h
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/stdio.h
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Kernel.framework/Versions/A/Headers/sys/stdio.h
Como se puede ver, los SDKs están ahora divididos en MACOSX10.14 y 10.15, como antes. Otra diferencia es con los archivos de cabecera. De acuerdo con la respuesta en la referencia,
if you install gcc via brew, it will add headers in /usr/local/: $ sudo find /usr -name stdio.h /usr/local/Cellar/gcc/8.2.0/include/c++/8.2.0/tr1/stdio.h /usr/local/Cellar/gcc/8.2.0/lib/gcc/8/gcc/x86_64-apple-darwin17.7.0/8.2.0/include/ssp/stdio.h /usr/local/Cellar/gcc/8.2.0/lib/gcc/8/gcc/x86_64-apple-darwin17.7.0/8.2.0/include-fixed/stdio.h /usr/local/Cellar/gcc/8.1.0/include/c++/8.1.0/tr1/stdio.h /usr/local/Cellar/gcc/8.1.0/lib/gcc/8/gcc/x86_64-apple-darwin17.5.0/8.1.0/include/ssp/stdio.h /usr/local/Cellar/gcc/8.1.0/lib/gcc/8/gcc/x86_64-apple-darwin17.5.0/8.1.0/include-fixed/stdio.h /usr/local/Cellar/gcc/7.3.0_1/include/c++/7.3.0/tr1/stdio.h /usr/local/Cellar/gcc/7.3.0_1/lib/gcc/7/gcc/x86_64-apple-darwin17.3.0/7.3.0/include/ssp/stdio.h /usr/local/Cellar/gcc@7/7.3.0/include/c++/7.3.0/tr1/stdio.h /usr/local/Cellar/gcc@7/7.3.0/lib/gcc/7/gcc/x86_64-apple-darwin17.5.0/7.3.0/include/ssp/stdio.h /usr/local/Cellar/gcc@7/7.3.0/lib/gcc/7/gcc/x86_64-apple-darwin17.5.0/7.3.0/include-fixed/stdio.h /usr/local/include/c++/8.2.0/tr1/stdio.h /usr/local/lib/gcc/8/gcc/x86_64-apple-darwin17.7.0/8.2.0/include/ssp/stdio.h /usr/local/lib/gcc/8/gcc/x86_64-apple-darwin17.7.0/8.2.0/include-fixed/stdio.h
Sin embargo, cuando ejecuto el comando anterior obtengo:
/usr/local/Cellar/gcc@8/8.3.0/include/c++/8.3.0/tr1/stdio.h
/usr/local/Cellar/gcc@8/8.3.0/lib/gcc/8/gcc/x86_64-apple-darwin18/8.3.0/include/ssp/stdio.h
/usr/local/Cellar/gcc@8/8.3.0/lib/gcc/8/gcc/x86_64-apple-darwin18/8.3.0/include-fixed/stdio.h
¿Dónde están los otros archivos de cabecera? ¿Qué deberían devolver estos comandos en MacOS Catalina?