1

Android NDK プロジェクトで C++ コードをコンパイルすると、次のようになります。

    expected unqualified-id before '(' token    FPEnvironment_DUMMY.h   /PocoFoundation/jni/include/Poco    line 98 C/C++ Problem

エラーは次の行から発生します。

    inline bool FPEnvironmentImpl::isInfiniteImpl(double value)
    {
        return std::isinf(value) != 0;
    }

次のパケットが含まれています。

    #include <cmath>

std:: を削除するとエラーが消えるようですが、これはなぜですか? クラス名stdをすべて削除するには、多くのソースファイルが必要です:/

4

1 に答える 1

1

だから私が見つけた解決策は次のとおりです。

これに従ってビルドするときに、エラーによって通知されたヘッダーファイルから std:: を削除します

次に、eclipse-Android プロジェクトにここで構築した静的ライブラリを含める予定だったので、新しいコンパイルではヘッダーに std:: が必要だったので、単純にそれらを元のスタイル std::isinf などに戻しました。 std の使用法:: 使用する stdlibrary、gnu または stdl_port によって異なります。

この問題はここで議論されています

于 2013-03-22T10:46:05.707 に答える