Relates :
|
If the include order is changed sligthly the following error occurs in the Windows build: g1SATBCardTableModRefBS.obj : error LNK2019: unresolved external symbol "public: void __thiscall G1SATBCardTableModRefBS::write_ref_array_pre_work<class oopDesc *>(class oopDesc * *,int)" (??$write_ref_array_pre_work@PAVoopDesc@@@G1SATBCardTableModRefBS@@QAEXPAPAVoopDesc@@H@Z) referenced in function "public: virtual void __thiscall G1SATBCardTableModRefBS::write_ref_array_pre(class oopDesc * *,int,bool)" (?write_ref_array_pre@G1SATBCardTableModRefBS@@UAEXPAPAVoopDesc@@H_N@Z) g1SATBCardTableModRefBS.obj : error LNK2019: unresolved external symbol "public: void __thiscall G1SATBCardTableModRefBS::write_ref_array_pre_work<unsigned int>(unsigned int *,int)" (??$write_ref_array_pre_work@I@G1SATBCardTableModRefBS@@QAEXPAIH@Z) referenced in function "public: virtual void __thiscall G1SATBCardTableModRefBS::write_ref_array_pre(unsigned int *,int,bool)" (?write_ref_array_pre@G1SATBCardTableModRefBS@@UAEXPAIH_N@Z) jvm.dll : fatal error LNK1120: 2 unresolved externals Move the callers of the write_ref_array_work template to g1SATBCardTableModRefBS.cpp to avoid this problem.