
Estoy usando Flycheck en mi Emacs y estoy empezando a aprender GTK. Sin embargo, Flycheck obviamente no está al tanto de estas cosas y me da errores en esos #include
mensajes.
Intenté incluir manualmente cada una de las cosas en la opción de ruta de inclusión, pero esto es bastante loco: ¡hay una gran cantidad allí! Al compilar desde la línea de comando, pkg-config
se utiliza precisamente por este motivo. ¿Hay alguna manera de que Flycheck haga algo similar? Como se utiliza gcc
como verificador de sintaxis, creo que debería ser posible, pero no sé cómo.
Respuesta1
No, de hecho eso no es posible sin un código personalizado de Emacs Lisp.
No existe una solución integrada para este problema en Flycheck, y probablemente nunca la habrá, debido a la diversidad de herramientas y sistemas de compilación C/C++, los cuales tienen un enfoque diferente para descubrir y almacenar indicadores del compilador.
Por lo tanto, necesita escribir código Emacs Lisp personalizado para completar flycheck-clang-include-path
o flycheck-gcc-include-path
(dependiendo del verificador que esté usando) con lo que obtiene de pkg-config
. No conozco Gtk, así que desafortunadamente no puedo ayudarte con cómo debería verse exactamente ese código.
Generalmente, escribirías una función que llame pkg-config
y establezca la variable, y agregarías esa función a c-mode-hook
. Échale un vistazo alflycheck-haskelloflycheck-dmd-dubextensiones, que establecen la configuración de Flycheck para Haskell y D respectivamente en función de los sistemas de compilación subyacentes.
Esa es la mejor solución que se puede obtener, ya que la falta de herramientas de compilación estandarizadas hace imposible proporcionar soporte más sofisticado para C/C++ sin un gran esfuerzo.
Descargo de responsabilidad:Soy el mantenedor de Flycheck.