[Mac]C++의 전역변수에 대해

sargas의 이미지

#include <iostream>

using namespace std;

int i = 815;

int main(){
     cout << i << endl;
}

위의 코드를 윈도의 비주얼스튜디오에서 돌리면 잘 컴파일 되어 815가 출력되는데
맥( Unix)에서 g++로 컴파일하면 i가 선언되지 않았다면서 오류가 뜹니다.
 cout << ::i << endl;

로 수정해야 컴파일 되네요.
왜 그럴까요-_-?