1

古い C++ プロジェクトがあり、ビルドに問題があります。特定のファイルについて、次の種類のエラーが表示されます。

エラー: 'atomic_t' はこのスコープで宣言されていません

ファイルには asm/atomic.h のインクルードがありますが、システムでヘッダー ファイルが見つかりません。SUSE Linux Enterprise Desktop 11 と gcc 4.3.2 を使用しています。

インストールする必要があるパッケージや、それらの識別子に含まれる代替ヘッダーがある可能性はありますか?

4

1 に答える 1

1

これらは、実際にはアプリケーションが使用するためのものではなく、カーネル ヘッダーであることを意図しています。これらは、アセンブラーで実装されるいくつかのアトミック テストとセット、インクリメント、デクリメントなどのプロトタイプです。

そのため、ヘッダー ファイルが見つかったとしても、asm または .asm ソースからの .o が必要になります。

これらは探しているファイルではありませんが、同じまたは類似している可能性が非常に高いです。

http://github.com/github/linux-2.6/blob/3067e02f8f3ae2f3f02ba76400d03b8bcb4942b0/arch/sh/include/asm/atomic.h http://github.com/apache/stdcxx/blob/7b51a66e3db202b7d317c74a5666aaeef7b4ebd0.smrc/s/

于 2010-03-04T09:41:18.947 に答える