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 aggiornare mailcow

In questo scenario viene illustrato come eseguire l’aggiornamento di un’istanza di mailcow dockerized utilizzando i tools in esso integrati. Aggiornamento automatico Nella directory di mailcow-dockerized

Partners