【cocos2dx】CCProfiling.cpp で[std::chrono::_V2::system_clock::now()] に関するエラーを解消する

【cocos2dx】CCProfiling.cpp で[std::chrono::_V2::system_clock::now()] に関するエラーを解消する
   

Android側のエラーなのですが、CCProfiling.cppで「std::chrono::_V2::system_clock::now()」が定義されていないとエラーが出ました。
原因はわかりませんが、エラーが出なくなりましたので、もし同じような症状が出る場合は参考にしてみてください。

エラー箇所

cocos2dxのVer3.1を利用。
共に同じ原因で、CCProfiling.cppで3つエラーが出ます。

void ProfilingTimer::reset()
{
    numberOfCalls = 0;
    _averageTime1 = 0;
    _averageTime2 = 0;
    totalTime = 0;
    minTime = 100000000;
    maxTime = 0;
    _startTime = chrono::high_resolution_clock::now(); // ここ
}

void ProfilingBeginTimingBlock(const char *timerName)
{
    Profiler* p = Profiler::getInstance();
    ProfilingTimer* timer = p->_activeTimers.at(timerName);
    if( ! timer )
    {
        timer = p->createAndAddTimerWithName(timerName);
    }

    timer->numberOfCalls++;

    // should be the last instruction in order to be more reliable
    timer->_startTime = chrono::high_resolution_clock::now(); // ここ
}

void ProfilingEndTimingBlock(const char *timerName)
{
    // should be the 1st instruction in order to be more reliable 
    auto now = chrono::high_resolution_clock::now();// ここ

    Profiler* p = Profiler::getInstance();
    ProfilingTimer* timer = p->_activeTimers.at(timerName);

    CCASSERT(timer, "CCProfilingTimer  not found");


    long duration = static_cast<long>(chrono::duration_cast<chrono::microseconds>(now - timer->_startTime).count());

    timer->totalTime += duration;
    timer->_averageTime1 = (timer->_averageTime1 + duration) / 2.0f;
    timer->_averageTime2 = timer->totalTime / timer->numberOfCalls;
    timer->maxTime = MAX( timer->maxTime, duration);
    timer->minTime = MIN( timer->minTime, duration);
}


エラー内容は
undefined reference to "std::chrono::_V2::system_clock::now()"

エラー解消

一度この3箇所をコメントアウトをして、Eclipseでビルドをします。
おそらく、エラーが出ます。(これは、nowが定義されていないというエラーだと思います)

次に、3箇所のコメントアウトを消して、再度ビルドをしてみます。
そうするとエラーが出なくなります。
  1. エラー箇所をコメントアウトして、ビルド。
  2. コメントアウトを削除して、ビルド。

もし、同じエラーが出た場合、一度上記の方法を試してみてください。


Related Posts Plugin for WordPress, Blogger...