的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),因此项目的标题不会公开任何外部包含文件。