我目前正在使用OpenGL使用glm库,我看到每个头文件(* .hpp)都有自己的实现文件(* .inl)但是每次编译时它如何自动编译(或链接)glm项目?例如:
#include <glm/glm.hpp>
// We actualy dont included any *.inl files
// And in glm.hpp (or any *.hpp files) are not included too!
但是在编译时,它没有错误!
答案 0 :(得分:5)
来自glm / glm / core / dummy.cpp:
/// GLM is a header only library. There is nothing to compile.
/// dummy.cpp exist only a wordaround for CMake file.
所以你必须在项目中包含标题,就是它(类似于boost)。您对.inl files是正确的,它们包含在标题中。标题有警卫,所以没有重复。