前段时间开发一个mqtt通信有关的功能,使用了<JSON for Modern C++>,把所有的to_json和from_json全部放在一个hpp中,然后在两个cpp文件中包含了这个hpp文件,编译时出了些奇奇怪怪的error。查资料才发现,hpp文件使用错了,现拿出来与大家分享。
hpp(Header Plus Plus)头文件,顾名思义就是 .h 文件加上 .cpp 文件,在很多开源库中经常出现,其实就是 .cpp 实现代码混入 .h 文件当中,定义和实现都包含在同一个文件里。说白了使用hpp文件的好处就是减少文件数量。
但是需要注意的是,将代码直接编译到调用者的 obj 文件,不再生成单独的 obj,大幅度减少编译次数。所以同一个hpp文件不能同时包含在多个cpp文件中,否则出现重定义的错误!!同一个hpp文件不能同时包含在多个cpp文件中!同一个hpp文件不能同时包含在多个cpp文件中!重要的事情说3遍!
1156

被折叠的 条评论
为什么被折叠?



