2017-09-11 73 views
1

我建立一個DLL一個DLL,它涉及到安裝以下庫:的Visual Studio:創建使用使用<code>visual studio</code>另一個DLL

  • GLM
  • GLFW
  • GLEW

我使用以下方法將這些庫鏈接到Visual Studio:

  • 在項目屬性頁
  • 在項目屬性頁
  • 在項目屬性頁確定Additional Library Directories指定Additional Dependencies指定Additional Include Directories

當然GLM是一個僅有頭庫,這意味着我只需要爲GLM指定Additional Include Directories。我的dll構建得很好。

但是,在測試項目中使用庫時會出現真正的問題。我聯繫我的測試項目,以我的圖書館使用上述方法,但是當我試圖建立測試項目,這將產生以下結果:

Cannot open include file <GLFW/glfw3.h> 

而且同樣適用於GLEW。當這個庫被另一個測試項目使用時,似乎沒有找到這些庫。我怎樣才能解決這個問題?任何幫助將不勝感激。

回答

0

正確設置所有項目的Additional Include Directories。編譯器不會奇蹟般地從一個項目中繼承設置,這個項目恰好將其輸出鏈接到另一個項目中。因此,您必須爲其提供的任何源文件提供正確的包含路徑。爲了避免讓硬編碼路徑包含目錄,你可以使用property sheet這兩個項目的公共。或者你可以在代碼中解決問題,並使用PIMPL成語(最終就像向前聲明某些GL類型一樣簡單,並在公共類中使用unique_ptr),因此項目的標題不會公開任何外部包含文件。

相關問題