fix all problem, add compile for linux