Alpha AXP シミュレーターの "Crude mp" がビルドできない
Alpha Axp シミュレーターの Crude MP をビルド出来ません。Ubuntu 16.04 LTS (64bit) に 32bit 環境を整え、g++
にも -m32
をつけています。Stack.h
の GetSize
も Array<T>::GetSize
にしました。以下は端末の出力です。
Simulators/run-alpha.o:run-alpha.cxx:(.text+0x169): `Allocator<Instruction>::ObjectStack' に対する定義されていない参照がさらに続いています
Simulators/run-alpha.o: 関数 `runtest(char*, char**)' 内:
run-alpha.cxx:(.text+0x239): `operator new[](unsigned int)' に対する定義されていない参照です
run-alpha.cxx:(.text+0x23f): `Allocator<Instruction>::ObjectStack' に対する定義されていない参照です
(以下続く)
個人的にはAllocator.h
の
# define DEFINE_ALLOCATOR(TTT) template<class TTT> Stack<TTT *> Allocator<TTT>::ObjectStack
に原因があると思うのですが、テンプレートにマクロを使うのはまずいのでしょうか。
いい考えがあったら、教えてください。お願いします。