2017-01-18 54 views
0

在我使用ninja作爲後端的CMake版本中,沒有導出符號的DLL總是被重新鏈接,因此我使用MODULE關鍵字和add_library作爲這些DLL作爲推薦here並在add_library docs使用MODULE關鍵字的CMake add_library不會創建PDB文件

但現在這些DLL沒有相應的與他們創建PDB文件(或者也許他們正在與默認名稱的對象目錄中生成的,而不是與庫名的輸出目錄)。

PDB_NAME docs的意味着它僅適用於可執行文件和共享庫(沒有模塊的提及):

輸出名由接頭產生的... .pdb文件用於 可執行文件或共享庫目標。

我該如何獲得在預期位置創建的PDB文件,其名稱爲MODULE庫的正確名稱?

+0

我的選擇似乎是:1.添加特定於平臺的標誌,以產生pdb文件,或者2.使用共享庫類型,並遠銷符號添加一個虛擬到這些庫,使他們產生LIB文件。 –

回答

0

我回去使用共享庫和添加一個虛擬符號,就能夠從每個這樣的庫導出。這樣cmake文件就和所有其他庫保持一致。