交叉编译运行时错误:ld.so检测到不一致:dl-minimal.c:136:realloc:断言`ptr == alloc_last_block'失败

时间:2014-05-13 07:21:18

标签: c++ c linux gcc arm

我遇到了一个BAMR(Beyond All My Recognition)错误,我有一个小的单线程应用程序,只需创建一个openGL上下文并绘制一些用于测试目的。它在Windows7和Ubuntu64中运行良好。这些天我将它移植到Linux armv7(arm-linux-gnuabihf),主机是ubuntu x64,gcc / g ++版本是4.6(arm-linux-gnuabihf),在这个应用程序之前我已经编译了几个小应用程序和运行良好。 每次运行此应用程序时都会打印以下错误:
    /////////////////////
    第1步     ld.so检测到不一致:dl-minimal.c:136:realloc:断言`ptr == alloc_last_block'失败!
    /////////////////////
这是我的代码,看起来每次错误发生在if(..)子句之前?多奇怪啊!任何人都有任何想法?非常感谢!

HRESULT TestWorkloadBase::CreateGLWindow()
{
    printf("Step 1");
    if (m_bPrompt) //m_bPrompt has been initialized
    {
        printf("Step 2");
        int ProcessId = GetProcessID();
        printf("Process Id is %d Starting... Please press a key to continue.\n", ProcessId);
        printf("Step 3");
        std::cin.ignore();
    }
    printf("Step 4");
    #if !defined(_WIN32)
    if (getenv("DISPLAY") == NULL)
    {
        setenv("DISPLAY", ":0.0", 0);
    }
    ...
}

每次都会打印“第1步”。

0 个答案:

没有答案