fix bugs in linux(cherry-pick from the master)
fix bugs in linux(cherry-pick from the master)

update cmakelists
(T*)* doesn't work with g++, It must be T**
g++ must use this pointer when accessing protected members of superclass
in C++ with
templates(http://stackoverflow.com/questions/4010281/accessing-protected-members-of-superclass-in-c-with-templates)

Conflicts:
	src/CMakeLists.txt

Microsoft/multiverso,zhengsx/multiverso,liming-vie/multiverso,you-n-g/multiverso,liming-vie/multiverso,liming-vie/multiverso,you-n-g/multiverso,Microsoft/multiverso,zhengsx/multiverso,zhengsx/multiverso,Microsoft/multiverso,Microsoft/multiverso,you-n-g/multiverso,you-n-g/multiverso,zhengsx/multiverso,liming-vie/multiverso