Solaris 8 では protobuf を作成できません。

Solaris 8 では protobuf を作成できません。

プロトコルバッファ(protobuf)2.5.0をダウンロードしました。ここ。それからSolaris 8(SunOS ms-sparc8 5.8)にインストールしてみました。 makeを実行しようとすると、このエラーが発生します。

In file included from google/protobuf/compiler/command_line_interface.h:41,
             from google/protobuf/compiler/main.cc:33:
google/protobuf/stubs/common.h:48:20: stdint.h: No such file or directory

私のSolarisには1つはありませんstdint.h。だから私はポータブル製品を入れてみましたstdint.hここそしてそれを入れてください/usr/include/。と入力した後、stdint.hmakeを再実行してみましたが失敗しました。次に、エラーを引き起こすファイル(command_line_interface.hとmain.cc)を調べました。ヘッダファイルを使用すると、command_line_interface.h問題がcommon.hによって引き起こされると想定されます。コードを見てみると、次の初期化が見つかりました。main.cccommon.hcommon.h

#if defined(__osf__)
// Tru64 lacks stdint.h, but has inttypes.h which defines a superset of
// what stdint.h would define.
#include <inttypes.h>
#elif !defined(_MSC_VER)
#include <stdint.h>
#endif

強制的に使用されることを望みながら取り外して交換して#include <stdint.h>!define(_MSC_VER)ました。それから再び失敗しました。だから私の次の推測は正義がないからです。これはどういう意味ですか? make logを見るとさらに混乱しています。 make ログを確認する必要がある場合。私は貼り付けた<inttypes.h>inttypes.h__ost__ここ。この問題をどのように解決できますか? protobufのインストール中に同じ問題を経験した人はいますか?

ベストアンサー1

幸いなことに、stdint.hは非常に複雑なヘッダファイルではないため、簡単に作成できます。

いくつかの可能性があります:

  1. <sys/int_types.h>Solaris 8では、代わりに使用できます<stdint.h>。ソースコードでこの設定を変更するか、/usr/include/stdint.h1行の内容を使用して#include <sys/int_types.h>独自のファイルを作成できます。
  2. 他のシステムからインポートできます。たとえば、stdint.hcygwin64では非常にシンプルで移植可能に見えます。
  3. あるいは、実際のbeautyfilはありませんが、glibcからこれを得ることができます(glibcはすべてを必要以上に10倍複雑にする傾向があります)。

あなたの代わりに(1)から始めましたが、何かが間違っている場合は新しい質問をしました。

おすすめ記事