簡體   English   中英

Windows中的動態庫鏈接問題

[英]Dynamic library linkage issue in Windows

我有一個Windows動態庫的問題。 我使用Qt / C ++在Linux中編寫了一個共享的小部件庫。 一切都很好,我可以將每個應用程序鏈接到我的庫。 但在Windows中,相同的代碼編譯,但任何應用程序都無法使用它。 我收到很多undefined reference to ...類型的鏈接器錯誤,這些錯誤都是在庫中實現的。

我發現在Windows中,默認情況下代碼符號表不會導出為二進制。 我必須指定我想在最終的dll中看到哪個函數。 但我無法找到辦法做到這一點。

按照這些說明,我將Q_DECL_EXPORT添加到所有類聲明中。 但它對我不起作用。

您應該將MYSHAREDLIB_EXPORT添加到類聲明中,而不是Q_DECL_EXPORT 也可以從您提供的鏈接中進行相應定義。

如果添加Q_DECL_EXPORT ,則告訴編譯器在包含頭的每個模塊中為該類生成代碼,而不是期望將類導出到另一個庫中。

暫無
暫無

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

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