

[Alpha Axp シミュレーター](https://homes.cs.washington.edu/~oskin/Bliss/)の Crude MP
をビルド出来ません。Ubuntu 16.04 LTS (64bit) に 32bit 環境を整え、`g++` にも `-m32`
をつけています。`Stack.h` の `GetSize` も `Array<T>::GetSize` にしました。以下は端末の出力です。

[code]

    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' に対する定義されていない参照です
    （以下続く）
    
[/code]

個人的には`Allocator.h`の

[code]

    #   define  DEFINE_ALLOCATOR(TTT) template<class TTT> Stack<TTT *> Allocator<TTT>::ObjectStack
    
[/code]

に原因があると思うのですが、テンプレートにマクロを使うのはまずいのでしょうか。  
いい考えがあったら、教えてください。お願いします。


CC BY-SA 3.0
2017-11-07T02:08:05.637
39358
2017-11-07T02:55:52.393
2017-11-07T02:55:52.393
19110
26074
question
c++
Alpha AXP シミュレーターの "Crude mp" がビルドできない