首页 > 编程语言 > 详细

C++的模板类:不能将定义与声明写在不同文件中

时间:2020-02-03 12:25:47      阅读:146      评论:0      收藏:0      [点我收藏+]

问题来源

今天准备看了orbslam2自带的第三方库DBoW2的TemplatedVocabulary.h文件,发现其中模板类的函数成员的定义与声明放在了同一个文件;同时发现,DBoW2的CMakeLists.txt并没有把TemplatedVocabulary.h的实现放入到libDBoW2.so之中。

所以含TemplatedVocabulary.h的文件需要再手动链接TemplatedVocabulary.h需要的库。

既然如此,我就”自作聪明“,新建了TemplatedVocabulary.cpp文件,把TemplatedVocabulary.h的实现写在了其中,在CMakeLists.txt中把TemplatedVocabulary.cpp加入了库文件libDBoW2.so中,这样就不用再手动链接TemplatedVocabulary.h需要的库了。然而,在链接libDBoW2.so库的时候出现了错误!!

原因

C++的模板类:不能将定义与声明写在不同文件中

原文:https://www.cnblogs.com/liuzhenbo/p/12254981.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!