2016-06-20 11 views
0

gcc 5.4.0(Make、makeをroot以外のフォルダにインストール)をコンパイルし、それを同じベースディストリビューションの別のマシンにエクスポートしました。私は2番目のマシン上でhello worldをコンパイルしようとすると、しかし、私はstdio.hのエラーを取得し、カスケードにcstdioなどgccをコンパイルした後5.4.0エクスポートするヘッダフォルダ

ことは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 = /ホーム/ 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 

しかし、私はそう

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/tr1/cstdio 
/home/mybin/include/c++/5.4.0/cstdio 
/home/mybin/include/c_std/cstdio 
/home/mybin/include/c/cstdio 

を更新していないが、私は私も

私はどのようにLDの設定フラグを輸出しようとしている/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' 

を持っていますエクスポートするフォルダと同じベースイメージから作成された他のマシンを知っているので、私はコンパイルすることができますバージョン。インクルードが見つからない、または混乱しているのはなぜですか?

私は、インストールディレクトリを所有している場合いいえ、あなたはsudoを必要としませんcentos7

+0

_「エラーが発生しました」_ - どのようなエラーが表示されますか?どのディレクトリを指していますか?ディレクトリを含むものは何ですか? –

+0

'致命的なstdio.hが見つかりません'エラーです。ディレクトリは./configureで指定された '--prefix = myfolder'サブディレクトリにエクスポートされていません。元のuntar'd srcフォルダにあるいくつかのフォルダが5.4.0マシンにあります。したがって、私の質問です。 –

+0

あなたのconfigureコマンドは何ですか?他の人が示唆しているように、usr/localにインストールされている場合は、/ usr/local/binをPATHに、libまたはlib64をLD_LIBRARY_PATHに追加してください。 configureを使用して、$ PATHにbindirを付けて、 – tim18

答えて

0

を使用しています。インストール手順を完了したかどうかを確認しようとしていました....

+0

あなたの所見に基づいて分かりやすくするために更新された質問 –

関連する問題