gpt4 book ai didi

c++ - 编译gcc 5.4.0后要导出的头文件夹

转载 作者:行者123 更新时间:2023-11-30 16:59:53 26 4
gpt4 key购买 nike

我已经编译了gcc 5.4.0(make,make install到非根文件夹),并将其导出到相同基本发行版的其他计算机上。但是,当我尝试在第二台计算机上编译hello world时,出现了stdio.h错误,并且级联到cstdio等。

对于gcc,我根据--help将configure --prefix=/home/mybin --bindir=/home/mybin/bin --libdir=/home/mybin/lib等用于所有可用文件夹。

在gcc编译机上,似乎源文件夹/home/tmp/gcc-5.4.0/libstdc++-v3/include已安装到带有所有子目录的--includedir=/home/mybin/include文件夹中。

在5.4.0编译器上搜索stdio.h,我得到几个包含stdio.h版本的文件夹。

/home/tmp/gcc-5.4.0/libstdc++-v3/include/tr1/stdio.h
/home/tmp/gcc-5.4.0/libstdc++-v3/include/c_compatibility/stdio.h
/home/tmp/gcc-5.4.0/fixincludes/tests/base/rtldef/stdio.h
/home/tmp/gcc-5.4.0/fixincludes/tests/base/stdio.h
/home/tmp/gcc-5.4.0/libssp/ssp/stdio.h
/home/tmp/gcc-5.4.0/gcc/testsuite/gcc.dg/cpp/usr/include/stdio.h


并且 --prefix=/home/mybin/的搜索返回

/home/mybin/lib/gcc/x86_64-unknown-linux-gnu/5.4.0/include/ssp/stdio.h
/home/mybin/include/c++/5.4.0/tr1/stdio.h
/home/mybin/include/c_compatibility/stdio.h


所以我将``--prefix = / home / mybin /`文件夹复制到新机器上并尝试使用

gcc -Wall -I/home/mybin/include/c_compatibility /home/myuser/test.c -o /home/myuser/hello


这给

In file included from /home/myuser/test.c:3:0:
/home/mybin/include/c_compatibility/stdio.h:29:18: fatal error: cstdio: No such file or directory


但是我有

/home/mybin/include/c++/5.4.0/tr1/cstdio
/home/mybin/include/c++/5.4.0/cstdio
/home/mybin/include/c_std/cstdio
/home/mybin/include/c/cstdio


如此更新为

gcc -Wall -I/home/mybin/include/c_compatibility -I/home/mybin/include/c_std  /home/myuser/test.c -o /home/myuser/hello
In file included from /home/mybin/include/bits/c++config.h:482:0,
from /home/mybin/include/c_std/cstdio:44,
from /home/mybin/include/c_compatibility/stdio.h:29,
from /home/myuser/test.c:3:
/home/mybin/include/bits/os_defines.h:39:22: fatal error: features.h: No such file or directory
compilation terminated.


但是我确实有 /home/mybin/include/c++/5.4.0/parallel/features.h

gcc -Wall -I/home/mybin/include/c_compatibility -I/home/mybin/include/c_std  /home/myuser/test.c -o /home/myuser/hello
In file included from /home/mybin/include/bits/c++config.h:482:0,
from /home/mybin/include/c_std/cstdio:44,
from /home/mybin/include/c_compatibility/stdio.h:29,
from /home/myuser/test.c:3:
/home/mybin/include/bits/os_defines.h:39:22: fatal error: features.h: No such file or directory
compilation terminated.

gcc -Wall -I/home/mybin/include/c_compatibility -I/home/mybin/include/c_std -I/home/mybin/include/c++/5.4.0/parallel /home/myuser/test.c -o /home/myuser/hello
In file included from /home/mybin/include/bits/c++config.h:482:0,
from /home/mybin/include/c_std/cstdio:44,
from /home/mybin/include/c_compatibility/stdio.h:29,
from /home/myuser/_test.c:3:
/home/mybin/include/bits/os_defines.h:44:19: error: missing binary operator before token "("
#if __GLIBC_PREREQ(2,15) && defined(_GNU_SOURCE)
^
In file included from /home/mybin/include/c_compatibility/stdio.h:29:0,
from /home/myuser/_test.c:3:
/home/mybin/include/c_std/cstdio:96:1: error: unknown type name 'namespace'
namespace std
^
/home/mybin/include/c_std/cstdio:97:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
{
^
/home/mybin/include/c_std/cstdio:155:1: error: unknown type name 'namespace'
namespace __gnu_cxx
^
/home/mybin/include/c_std/cstdio:156:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
{
^
/home/mybin/include/c_std/cstdio:181:1: error: unknown type name 'namespace'
namespace std
^
/home/mybin/include/c_std/cstdio:182:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
{
^
/home/myuser/_test.c:7:1: warning: return type defaults to 'int' [-Wimplicit-int]
main()
^
/home/myuser/test.c: In function 'main':
/home/myuser/test.c:9:5: warning: implicit declaration of function 'printf' [-Wimplicit-function-declaration]
printf("Heh now");
^
/home/myuser/_test.c:9:5: warning: incompatible implicit declaration of built-in function 'printf'
/home/myuser/_test.c:9:5: note: include '<stdio.h>' or provide a declaration of 'printf'


我也尝试导出LD配置标志

我如何知道要导出的文件夹以及从同一基本映像制成的其他计算机,以便可以使用此版本进行编译。为什么找不到包含项或将其弄糊涂?

我正在使用centos7

最佳答案

不,如果您拥有安装目录,则不需要sudo。我们正在尝试确定您是否已完成安装步骤...。

关于c++ - 编译gcc 5.4.0后要导出的头文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37932668/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com