9

Ubuntu12.04x86_64でいくつかのライブラリをコンパイルしています。最初にGCC4.7.2でライブラリをコンパイルしましたが、すべてうまくいきました。次に、Inte Composer2013u2でそれらを再コンパイルしようとしました。私がしたその目的のために:

export CC=/opt/intel/composer_xe_2013.2.146/bin/intel64/icc
export CPP=/opt/intel/composer_xe_2013.2.146/bin/intel64/icpc

次に、実行./configureして次のエラーが発生しました。

checking how to run the C preprocessor... /opt/intel/composer_xe_2013.2.146/bin/intel64/icpc
configure: error: in `/var/www/workspace/freetype/freetype-2.4.11/builds/unix':
configure: error: C preprocessor "/opt/intel/composer_xe_2013.2.146/bin/intel64/icpc" fails sanity check
See `config.log' for more details
make: *** [setup] Error 1

構成ログファイルには、次のエラーが含まれています。

configure:3345: checking how to run the C preprocessor
configure:3415: result: /opt/intel/composer_xe_2013.2.146/bin/intel64/icpc
configure:3435: /opt/intel/composer_xe_2013.2.146/bin/intel64/icpc  conftest.c
conftest.c(14): error: identifier "Syntax" is undefined
             Syntax error
             ^

conftest.c(14): error: expected a ";"

compilation aborted for conftest.c (code 2)

configure:3435: $? = 2
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "FreeType"
| #define PACKAGE_TARNAME "freetype"
| #define PACKAGE_VERSION "2.4.11"
| #define PACKAGE_STRING "FreeType 2.4.11"
| #define PACKAGE_BUGREPORT "freetype@nongnu.org"
| #define PACKAGE_URL ""
| /* end confdefs.h.  */
| #ifdef __STDC__
| # include <limits.h>
| #else
| # include <assert.h>
| #endif
|            Syntax error
configure:3435: /opt/intel/composer_xe_2013.2.146/bin/intel64/icpc  conftest.c
conftest.c(14): error: identifier "Syntax" is undefined
             Syntax error
             ^

conftest.c(14): error: expected a ";"

compilation aborted for conftest.c (code 2)

ここで何が間違っている可能性がありますか?

4

3 に答える 3

16

CPP問題は、GNUが「C ++コンパイラ」を示す暗黙の変数を作成するのCXXに対し、CPP「Cプリプロセッサ」を示す暗黙の変数を作成することである可能性があります。だからあなたの

export CPP=/opt/intel/composer_xe_2013.2.146/bin/intel64/icpc

icpcconfigureがプリプロセッサであり、CXXおそらくデフォルトでg++のままであることを示します。

これは./configureエラーによってサポートされています:

Cプリプロセッサの実行方法を確認しています.../opt / intel / composer_xe_2013.2.146 / bin / intel64 / icpc

試す:

export CXX=/opt/intel/composer_xe_2013.2.146/bin/intel64/icpc

あるいは単に:

./configure CXX=/opt/intel/composer_xe_2013.2.146/bin/intel64/icpc
于 2013-02-27T22:40:39.733 に答える
9

FWIW、私は今日これに遭遇しました、そして私の解決策は

export CPP='<path to icpc> -E'

つまり、プリプロセッサを-Eフラグ付きで実行する必要があることをconfigureに指示します。

于 2015-08-05T10:41:00.107 に答える
3

Mennoに感謝します。私の場合、エクスポートはそれを完全には行いませんでしたが、それは近かったです。構成するためにCPP=...を渡すと、トリックが実行されました。

mkdir build
cd build
../configure --prefix=/usr/local/gcc/ CC=/usr/local/gcc/bin/gcc \
 CXX=/usr/local/gcc/bin/g++ CPP='/usr/local/gcc/bin/g++ -E'
于 2016-08-11T06:30:26.843 に答える