0

引用符

こんにちは、The Powder Toy の最新ソースをコンパイルしようとしていますが、コンパイラ (G++ with scons) が --m を含むコマンドを実行するたびにクラッシュします。

クラッシュログ:

scons --lin --release --sse2
scons: Reading SConscript files ...
Checking for C library fftw3f... (cached) yes
Checking for C library bz2... (cached) yes
Checking for C library z... (cached) yes
Checking for C header file bzlib.h... (cached) yes
Checking for C library lua... (cached) no
Checking for C library lua5.1... (cached) yes
scons: done reading SConscript files.
scons: Building targets ...
^[[Ag++ -o build/src/Format.o -c -w -std=c++98 -fkeep-inline-functions -sse2 -O3 -ftree-vectorize -funsafe-math-optimizations -ffast-math -fomit-frame-pointer -funsafe-loop-optimizations -Wunsafe-loop-optimizations -D_GNU_SOURCE=1 -D_REENTRANT -DLUACONSOLE -DGRAVFFT -D_GNU_SOURCE -DUSE_STDINT -D_POSIX_C_SOURCE=200112L -DUSE_SDL -DLIN -DX86 -DX86_SSE2 -I/usr/include/SDL -I/usr/include/lua5.1 -Ibuild/src -Ibuild/data -Ibuild/generated build/src/Format.cpp
g++: error: unrecognized option â-msse2â
scons: *** [build/src/Format.o] Error 1
scons: building terminated because of errors.

なぜこれが起こるのでしょうか?コンパイルするには、-m32 コマンドも削除する必要がありました。

4

2 に答える 2

1

-sse2 オプションが g++ にSSE2を生成するように指示しているためであると強く疑っています。これは Intel の x86 アーキテクチャ用の SIMD 命令です。Raspberry Pi ボードは、まったく異なるコンピューター アーキテクチャ (ARM) であり、SSE2 をサポートしていません。SSE2 に相当する ARM は NEON ですが、RPi で使用される ARM では NEON を使用できます。

g++ が認識しないオプションについては、別のフラグ (この場合は -m ですが、以前に -f を見たことがあります) を前に付けて、それが同義語であるかどうかを確認しようとしていると思います。

あなたの場合、sse2はRaspberry Piでは意味がありません。上記の例では問題です。

于 2013-03-22T08:29:07.120 に答える
-1

^[[A ? メイクファイルに印刷できない文字がありますか? すべてのパラメーターを 1 つずつエコーして、これらの奇妙な文字が含まれているパラメーターを特定できますか?

于 2012-12-27T05:48:47.030 に答える