的Visual Studio:创建使用使用visual studio另一个DLL

问题描述:

我建立一个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。当这个库被另一个测试项目使用时,似乎没有找到这些库。我怎样才能解决这个问题?任何帮助将不胜感激。

正确设置所有项目的Additional Include Directories。编译器不会奇迹般地从一个项目中继承设置,这个项目恰好将其输出链接到另一个项目中。因此,您必须为其提供的任何源文件提供正确的包含路径。为了避免让硬编码路径包含目录,你可以使用property sheet这两个项目的公共。或者你可以在代码中解决问题,并使用PIMPL成语(最终就像向前声明某些GL类型一样简单,并在公共类中使用unique_ptr),因此项目的标题不会公开任何外部包含文件。