嘗試從DLL 匯出包含std:: 物件(例如向量或字串)的類別時,您可能會遇到有關需要dll 介面的警告。當編譯器偵測到類別中複雜類型的成員未明確標記為 DLL 匯出時,會觸發此警告。
使用 DLL_EXPORT 轉送宣告成員類型可以部分解決該問題。然而,為了確保成員函數的正確導出,其編譯單元中的對應類別也必須標記為 DLL_EXPORT。
這個要求源自於編譯器無法確定客戶端使用了該類別的哪些方法DLL_EXPORTed 類別的。因此,它強制要求必須導出所有可訪問的方法。在這種情況下,不建議忽略警告並停用它。
要解決非dll 可匯出成員的警告,可以考慮以下方法:
在提供的範例,前向聲明模板專門化 std::allocator
以上是如何從 DLL 匯出包含 std:: 物件的類別?的詳細內容。更多資訊請關注PHP中文網其他相關文章!