1

Linux で gcc を使用してコンパイルしようとして、コードを継承しました。

__builtin_ia32_stmxcsr を持つライブラリを探していますか?

申し訳ありません -- 送信するのが早すぎました。Nvidia Eclipse内でgccを実行しています。実際のエラー メッセージは「Functuion . . . could not be resolve」なので、ライブラリを参照する必要があるという結論に飛びつきました。問題のある行には :#if defined( SSE ) があるため、コンパイル コマンド ラインのコピーが見つからないように見えますが、-msse2 スイッチが存在することを意味します。[この Eclipse ツールを学習したばかりです -- 非常に新しいです!]

4

2 に答える 2

2

何もリンクする必要はありません。名前の「組み込み」は、それが gcc 組み込み (組み込み) コンパイラ関数であることの手がかりです。

ただし、これが認識されるようにするには、SSE を有効にして x86 ターゲット用にコンパイルする必要がありますgcc -msse2 ...

の代わりに_mm_getcsr組み込みの fromを使用できることに注意してください。これにより、移植性が少し向上します。<xmmintrin.h>__builtin_ia32_stmxcsr

于 2012-10-22T15:54:18.890 に答える
1

__builtin*これは、gccの関数を使用するEclipseインデクサーのバグです。バグレポートはhttps://bugs.eclipse.org/bugs/show_bug.cgi?id=352537にあります。

問題は、glibc / gccライブラリ自体でさえこれらの__builtin*関数を使用しているため、eclipseが障害などについて不平を言うことxmmintrin.hです。これはもちろんナンセンスです。

バグレポートに回避策があります。関数プロトタイプをインデクサーのユーザー定義マクロとして追加できますが、さらにいくつかあり、一部の型チェック機能が失われると、もちろんこれは面倒になります。

于 2012-10-23T08:42:54.270 に答える