1

我目前正在使用 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!

但是编译的时候没有报错!

4

1 回答 1

7

从 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 文件是正确的,它们包含在标题中。标头有守卫,所以不会有重复。

于 2013-02-14T10:15:15.140 回答