Sì, è possibile, ma solo se si compilano i file di terze parti in una destinazione separata. In questo modo, puoi impostare diversi flag del compilatore.
Diciamo che il tuo obiettivo principale è un'applicazione. Hai definito le impostazioni di compilazione, nonché i flag di avviso del compilatore.
Ora si desidera utilizzare alcune fonti di terze parti. Li importerai nel tuo progetto, ma generano avvertimenti. Ovviamente potresti cambiare le impostazioni del tuo target principale, ma sono abbastanza sicuro di voler mantenere le tue impostazioni.
Basta creare un target aggiuntivo nel progetto, che è una libreria statica. Rimuove i file di terze parti dalla destinazione principale e li aggiunge alla libreria.
Nelle fasi di compilazione del target principale, collegare l'applicazione con la libreria statica.
In questo modo, sarete in grado di utilizzare il codice di terze parti nella vostra applicazione, pur avendo diverse impostazioni del compilatore per il codice di terze parti.
Potrebbe funzionare, ma io personalmente penso che questo sia una cattiva opzione, il tuo codice diventerà dipendente al pragma del Clang ... – Macmade
@Macmade i tuoi dati di risposta la seconda parte della mia risposta. se stai collegando alla libreria, * è probabile * che tu voglia * anche * usarlo nel tuo programma ad un certo punto. come si propone di disabilitare gli avvisi generati dalle intestazioni di terze parti quando sono inclusi nel progetto? si noti che è anche possibile eseguire il wrapping del '#pragma clang diagnostic's nei controlli del compilatore (poiché alcuni compilatori si lamenteranno dei pragma sconosciuti, se richiesto). – justin
Hai ragione, ma se gli avvertimenti provengono dai file di intestazione, allora proverò a cercare un'altra soluzione, poiché potrebbe implicare codice molto scadente ...:) – Macmade