Domanda

Ho un vecchio progetto di C ++ e sto avendo problemi costruirlo. Per un certo file ricevo il seguente tipo di errori:

  

errore: ‘atomic_t’ non è stata dichiarata in questo ambito

e altri per altri identificatori come atomic_read, atomic_inc, etc. Il file ha un include per ASM / atomic.h, ma non riesco a trovare il file di intestazione sul mio sistema. Sto utilizzando SUSE Linux Enterprise Desktop 11 e gcc 4.3.2.

Potrebbe esserci qualche pacchetto che ha bisogno di essere installato, o un'intestazione alternativa da inserire per quei identificatori?

È stato utile?

Soluzione

Queste sono destinate ad essere header del kernel, non proprio per le applicazioni da usare. Sono i prototipi per alcuni test atomico e insieme, di incremento, decremento ecc che sono implementati in assembler.

quindi, anche se si trovano i file di intestazione, si avrà ancora bisogno del .o dal asm o le fonti .asm.

Questi non sono i file che state cercando, ma sono molto probabile che sia la stessa o simile.

http: // GitHub com / github / linux-2.6 / blob / 3067e02f8f3ae2f3f02ba76400d03b8bcb4942b0 / arch / sh / include / asm / atomic.h http://github.com/apache/stdcxx/blob/7b51a66e3db202b7d317c74a5666aaeef7b4ebd0/ src / atomic.asm

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top