когда я включаю atomic.h, GCC говорит, что нет такого файла, почему? - PullRequest
0 голосов
/ 09 февраля 2010

Я хочу использовать атомарный API, и я включаю. Я не знаю, как его использовать! Спасибо!


У меня есть /usr/src/linux-headers-2.6.28-11/arch/x86/include/asm/atomic.h.

Я также добавляю -I/usr/src/linux-headers-2.6.28-11/arch/x86/include/ и -I/usr/src/linux-headers-2.6.28-11/include.

Некоторые другие ошибки возникают из-за -DCONFIG_X86_32 и -D__KERNEL__ macro undefined.

Тогда я определю два макроса,

произошли некоторые ошибки:

/usr/src/linux-headers-2.6.28-11/include/linux/cpumask.h:600:37: error: "and" may not appear in macro parameter list

/usr/src/linux-headers-2.6.28-11/arch/x86/include/asm/processor.h:159:1: warning: "cache_line_size" redefined

/usr/src/linux-headers-2.6.28-11/include/linux/cache.h:64:1: warning: this is the location of the previous definition

/usr/src/linux-headers-2.6.28-11/include/linux/stddef.h:16: error: expected identifier before ‘false’
/usr/src/linux-headers-2.6.28-11/include/linux/stddef.h:16: error: expected `}' before ‘false’
/usr/src/linux-headers-2.6.28-11/include/linux/stddef.h:16: error: expected unqualified-id before ‘false’
/usr/src/linux-headers-2.6.28-11/include/linux/stddef.h:18: error: expected declaration before ‘}’ token

Моя система ubuntu 9.04 работает на Virtualbox3.0.

1 Ответ

0 голосов
/ 09 февраля 2010

Если вы знаете, где находится файл на вашем HD, вы говорите: gcc mySource.c -I / path / to / atomic

обратите внимание, что это предполагает, что вы включаете "атомарный" напрямую. а не "some / path / atmomic.h"

...