Я пытаюсь выполнить кросс-компиляцию следующего простого кода 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