C++ テンプレートを学習するために使用している非常に基本的なシステムがあります。私の理解では、次のように、テンプレート定義をテンプレート宣言ファイルに含めて、実装の代わりにコンパイルする必要があります。
/*LINKEDLIST.H*********************************/
#ifndef LINKEDLIST_H_
#define LINKEDLIST_H_
#include "node.h"
template <typename T>
class linkedlist {
/*..*/
};
#include "linkedlist.tpp"
/*LINKEDLIST.TPP*********************************/
#include "node.h"
template<typename T>
linkedlist<T>::linkedlist() {
/*..*/
}
Eclipse CDT でテンプレートのヘッダー ファイルをコンパイルするにはどうすればよいですか? テンプレート ファイル自体をコンパイルしようとして、linker input file unused because linking not done
エラーが発生しているようです。
Building file: ../linkedlist.tpp
Invoking: GCC C++ Compiler
g++ -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"linkedlist.d" -MT"linkedlist.d" -o "linkedlist.o" "../linkedlist.tpp"
g++.exe: warning: ../linkedlist.tpp: linker input file unused
独自のメイクファイルを作成できますが、IDE でこれに対する解決策があるかどうかを確認したいと考えています。