我无法使用命令 gcc -m32 -Werror a.c -o a
从 64 位 Linux 机器编译为 32 位机器的 C 程序
它告诉我错误
In file included from a.c:1:
/usr/include/stdio.h:27:10: fatal error: bits/libc-header-start.h: No such file or directory
#include <bits/libc-header-start.h>
^~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
我检查了 /usr/include/stdio.h
中的 stdio.h
在我的机器里 Linux kali 4.19.0-kali4-amd64 #1 SMP Debian 4.19.28-2kali1 (2019-03-18) x86_64 GNU/Linux
这条线 #include <bits/libc-header-start.h>
包含在其他 ubuntu 64 位中,此行不包含
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int functionFunction(char *param)
{
char *localString = "Conjunction Function";
int localInt = 0xdeadbeef;
char localString2[10];
strcpy(localString2,param);
return 1;
}
int main(int argc, char *argv[])
{
char *localString = "Main Function";
int localInt = 0x11223344;
functionFunction(argv[1]);
return 0;
}
最佳答案
尝试安装 gcc-multilib:
这可能(不是 100% 肯定)有效:但在我的场景中它确实有效;
sudo apt-get install gcc-multilib
关于c - 为什么 bits/libc-header-start.h 文件夹包含在 stdio.h header 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57519838/