lz确定两个dll用的是同一个锁吗?没用过QT

解决方案 »

  1.   

    The lockedMutex must be initially locked by the calling thread
      

  2.   


    把锁那个变量做成个类的成员变量了,那个类全局也只声明了一个变量,所以肯定是一个 class __declspec(dllexport) CWaitForGssData
    {
    QWaitCondition m_waitCdt;
    QMutex m_mutex;
    public:
    CWaitForGssData()
    {
    m_mutex.lock();
    }
    void Wait()
    {
    m_waitCdt.wait(&m_mutex);
    } void Wake()
    {
    m_waitCdt.wakeAll();
    }
    protected:
    private:
    };
    CWaitForGssData __declspec(dllexport) waitObj;
      

  3.   

    WaitForGssData::Wake(); WaitForGssData::Wait();
    我晕,同一个dll里直接这么调都过不去.