Clang не следует заголовочный файл символической ссылки - PullRequest
0 голосов
/ 11 сентября 2018

Я пытаюсь выполнить кросс-компиляцию следующего простого кода temp.c с помощью команды clang

#include<net/if.h>
int main(void)
{
    return 0;
}

$clang -target arm-linux-gcc -mfloat-abi=hard temp.c

Но я получаю ошибку

In file included from temp.c:1:
In file included from /usr/include/net/if.h:26:
In file included from /usr/include/sys/socket.h:33:
/usr/include/bits/socket.h:390:10: fatal error: 'asm/socket.h' file not found
#include <asm/socket.h>
         ^~~~~~~~~~~~~~
1 error generated.

Когда я проверил, файл <asm/socket.h> отсутствует в папке /usr/include, а внутри папки /usr/include/x86_64-linux-gnu.Файл sys/socket.h является символической ссылкой./usr/include/sys/socket.h -> ../x86_64-linux-gnu/sys/socket.h

$ls -al /usr/include/sys/socket.h
lrwxrwxrwx 1 root root 32 Apr 16 22:14 /usr/include/sys/socket.h -> ../x86_64-linux-gnu/sys/socket.h

clang не является следующей папкой, куда направляется символическая ссылка для заголовочного файла.Подскажите, пожалуйста, как заставить clang следовать символической ссылке на заголовочный файл.

Это не проблема, когда я компилирую напрямую с помощью компилятора arm-gcc arm-linux-gnueabihf-gcc-7

...