3

私はubuntu12.04(64ビット)でgcc4.8トランクを構築しようとしました。

構成を使用する場合

../gcc-trunk/configure -v --with-pkgversion='ubuntu12.04-64' --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.8 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.8 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --enable-plugin --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu

次のエラーが発生します。

In file included from /usr/include/fenv.h:58:0,
                 from ../../../../gcc-trunk/libquadmath/math/ccoshq.c:23:
../../../../gcc-trunk/libquadmath/math/ccoshq.c: In function ‘ccoshq’:
/usr/include/bits/fenv.h:116:4: error: impossible constraint in ‘asm’
    __asm__ __volatile__ ("divss %0, %0 " : : "x" (__f));
    ^
/usr/include/bits/fenv.h:116:4: error: impossible constraint in ‘asm’
    __asm__ __volatile__ ("divss %0, %0 " : : "x" (__f));

しかし、「-with-arch-32 = i686」を削除した後は、問題ありません。私のCPUはIntel(R)Core(TM)2 QuadCPUQ9400です。では、「-with-arch-32」オプションで何を使用すればよいですか?ありがとう。

4

1 に答える 1

2

制約xはSSEレジストラを意味します。このアーキテクチャi686はSSEinsnsを実装していません。使用できる最も古いものはですpentium3

このコンパイラから生成されたバイナリをどこで実行するかによって異なります。自分で使用する場合は、を使用して簡単に構成できますcore2

于 2012-12-01T12:09:02.060 に答える