2016-06-22 6 views
0

次のフォルダ構造/home/gccprefix/lib64/libstdc++.so.6を持つカスタムコンパイルgcc 5.4.0があります。libstdC++。so.6のカスタムディレクトリを設定するための正しい構文です。

これまでのところ、コンパイルは、CC=/home/gccprfix/bin/gcc CFLAGS=-fPIC CFLAGS=-Wfatal-errors CFLAGS=-I/home/gccprefix/header/tr1などの設定によって余分なフラグをうまく通しています。

しかし、今私は/home/gccprefix/bin/ragelでカイロをコンパイルするのに問題があります。そのような

MYFLAGS="CC=/home/gccprfix/bin/gcc CFLAGS=-fPIC CFLAGS=-Wfatal-errors CFLAGS=-I/home/gccprefix/header/tr1" 
.../configure ${MYFLAGS} 

として、Iが変数として割り当てフラグでbashスクリプトを持ってコンパイルするRagelがエラーなしで上記のよう/home/gccprefix/bin/gccでコンパイルしました。

しかしカイロ用makeの間に、私は

ragel: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by ragel) 

を取得し、これがデフォルト/usr/lib64/libstdc++.so.6を見つけるgccのが原因です。したがって、私はconfigureに渡されたフラグを拡張する必要があると思うので、いくつかのスレッドに従ってください。

は何正しい構文

`CFLAGS=-Wl,-rpath,/home/gccprefix/lib64` 

であるか、センドを使用して、私はCFLAGS=新しいlibstdc++.so.6が渡されていないと同じエラーが発生すると、最初のオプションを使用してCFLAGS=

`-Wl,-rpath,/home/gccprefix/lib64` 

をドロップしませんなしCFLAGSはエラーを出力します

configure: error: unrecognized option: `--Wl,-rpath,/home/gccprefix/lib64' 

どのプレフィックスを使用しますか?唯一のプロジェクト -

+0

二重ダッシュ 'configure:error:unrecognized option:--Wl、-rpath、/ home/gccprefix/lib64'を使用しました。 – alvits

答えて

0

正しい構文は

生成のMakefileを見てみると
./configure ... LDFLAGS=-Wl,-rpath=/home/gccprefix/lib64 

だろう、あなたはおそらくC++のために一切使用しておりませんCFLAGSとCXXFLAGSに逃げるが、できませんでした。

CFLAGS=-fPIC CFLAGS=-Wfatal-errors CFLAGS=-I...は無意味ですが、-I...のみがCコンパイラに渡されます。代わりにCXXFLAGS="-fPIC -Wfatal-errors -I..."を試し、configureがそれを単一の引数として取得するようにしてください。それをMYFLAGS経由で渡すことはおそらく動作しません。

関連する問題