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 Borg su Synology NAS

Installare Borg su Synology NAS è cosa molto semplice da realizzare in quanto è possibile farlo mediante il package rilasciato da SynoCommunity. Vediamo in questa

Come ottenere l’URL corrente in Jinja2

Stiamo sviluppando una applicazione con Flask che usa Jinja2 come template engine. All’interno del template html che stiamo sviluppando abbiamo bisogno di ottenere l’URL corrente

Partners