Не могу скомпилировать против asm-generic / cmpxchg-local.h - PullRequest
0 голосов
/ 05 января 2012

Вопрос: что мне нужно для ссылки, чтобы получить /asm-generic/cmpxchg-local.h доступный?


Информация:

Я знаю, что мне не хватает ссылкигде-то, но я не могу понять правильную команду.Я не очень хорош, когда дело доходит до ссылок для компиляторов.Я попытался скомпилировать простую программу для проверки моего доступа к cmpxchg-local.h.я видел, что кто-то сделал это как «asm-generic / cmpxchg-local.h», но это тоже не сработало.Я запустил locate, и он нашел файл здесь:

/usr/src/linux-headers-3.0.0-14/include/asm-generic/cmpxchg-local.h

Итак, я попытался поместить весь путь к файлу в мое включение, вот так:

#include </usr/src/linux-headers-3.0.0-14/include/asm-generic/cmpxchg-local.h>
#include <stdio>

int main()
{
    printf("Hello world!\n");
}

Затем я сказал, что этоне удалось найти linux / irqflags.h.Очевидно, что некоторые ссылки где-то не хватает, какой-либо совет?

Компиляция с:

 gcc cmpandswp.c -o test -lm

1 Ответ

0 голосов
/ 22 января 2012

Возможно, вы не хотите включать заголовки ядра в пользовательскую программу ... но вам нужен следующий флаг GCC (со страниц man):

   -I dir
       Add the directory dir to the list of directories to be searched for header files.  Directories named by -I are searched before the standard system include directories.  If the
       directory dir is a standard system include directory, the option is ignored to ensure that the default search order for system directories and the special treatment of system
       headers are not defeated .  If dir begins with "=", then the "=" will be replaced by the sysroot prefix; see --sysroot and -isysroot.

Таким образом, вы можете сделать что-то вроде gcc -I/usr/src/linux-headers-3.0.0-14/include <objects> и изменить свое включение на #include <asm-generic/cmpxchg-local.h>. Вам, вероятно, потребуется добавить больше -I путей для компиляции с этим заголовочным файлом (но, опять же, это, вероятно, не то, что вы хотите сделать).

...