簡體   English   中英

無法在動態鏈接庫Core.dll中找到過程入口點

[英]The procedure entry point could not be located in the dynamic link library Core.dll

我正在轉換我的項目使用DLL,並試圖拆分我的Singleton類,以避免使用模板。

我的班級LudoMemory最初繼承自Singleton 我試圖賦予它現在銷毀和創造自己的功能,讓我的主引擎不依賴於Singleton

我寫了一個簡單的破壞方法,如:

LudoMemory *memory_Singleton = NULL;

    void LudoMemory::Destroy()
    {
        LUDO_SAFE_DELETE(m_Singleton)
    }

並在運行程序時(沒有編譯器錯誤)我收到此錯誤:

程序入口點?Destroy @ LudoMemory @@ SAXXZ無法位於動態鏈接庫LudoCore.dll中

LudoCoreLudoMemory所屬的項目。 為什么會這樣? 我該如何解決?

您的系統上沒有多個版本的ludocore.dll,對嗎? 過程入口點錯誤通常意味着:您針對ludocore.lib版本x編譯了項目,並且在運行程序時,它使用ludocore.dll版本y,而版本y沒有定義LudoMemory :: Destroy()。

Jacob關於多個DLL版本的答案似乎很可能。

此外,對於某些構建系統,您必須明確列出將在DLL中導出的函數。

研究構建環境,看看是否必須提供要作為入口點導出的方法列表。

在Visual Studio構建環境中,您也可以嘗試通過在鏈接器優化設置中禁用引用[ 否(/ OPT:NOREF) ]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM