Come risolvere l’errore di compilazione CMake “multiple definition of”

Cerca

Nella mia avventura alla scoperta di EDID, mi stavo dilettando a compilare dai sorgenti il tool read-edid quando mi sono imbattuto in questo errore:

				
					multiple definition of `quiet'; 
CMakeFiles/get-edid.dir/get-edid.c.o:./obj-s390x-linux-gnu/get-edid/./get-edid/get-edid.c:12:
 first defined here
				
			
Dopo qualche ricerca, mi sono imbattuto nella soluzione. Dalla versione GCC10, il default “-fcommon” flag è cambiato in “-fnocommon”. Per fixare il problema è sufficiente quindi attivare -DCMAKE_C_FLAGS=-fcommon quando si esegue cmake.

Caso specifico

Nel mio caso specifico stavo creando uno snap di read-edid, pertanto la soluzione l’ho raggiunta aggiungendo allo snapcraft.yaml il seguente:

				
					
parts:
  read-edid:
    plugin: cmake
    source: read-edid-3.0.2
    cmake-parameters:
      - -DCMAKE_C_FLAGS=-fcommon
				
			

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.

Most Recent

Come installare Composer su Ubuntu

Composer è il gestore delle dipendenze per PHP. Per installarlo su Ubuntu seguiamo questi semplici passi illustrati qui sotto. Installazione di Composer Per prima cosa

Come realizzare un client NTP in Python

In questo post vediamo come realizzare, utilizzando poche righe di codice, uno script Python che agisca da client NTP. Soluzione 1 In questa prima soluzione

Partners