2013-07-12 2 views
0

여기에 이상한 문제가 있습니다. 내 VS2012 프로젝트가 제대로 설정되어 있습니다. 난 내 클래스 중 하나에 방법을 추가하는 간단한 작업을 시도 할 때, 그것은 여기에 내 카메라 클래스의 난Visual Studio 2012 링크 오류

error LNK2019: unresolved external symbol "public: void __thiscall Camera::calcularDirecao(class GLFWwindow *)" ([email protected]@@[email protected]@@Z)

를 얻을 제대로 연결되지 않습니다

class Camera { 
public: 
    Camera() { ... inline constructor ... } 
    ~Camera() {} 

    ... other methods (which link fine) ... 

    void calcularDirecao(GLFWwindow *); 
}; 

그리고 내 구현 파일 내가 성공하지,

void Camera::calcularDirecao(GLFWwindow *janela) { 
    ... code ... 
} 

    ... other methods ... 
이미 재건 노력

모든 있습니다. 미리 감사드립니다.

+3

컴파일러/링커가 내 코드를 무시하는 것처럼 보이는 상황에서 컴파일 오류가 발생하는지 확인하기 위해 코드에 * 난센스 *를 추가하려고합니다! 예를 들어'lkdhgre'를'calcularDirecao' 메쏘드의 body에 넣고 컴파일러가 불평하는지 확인할 수 있습니다. 그렇지 않으면 어떤 이유로 (잘못된 파일, 전 처리기 매크로 등) 어떤 이유로 메쏘드 본문이 보이지 않는다는 것을 의미합니다. – yzt

+0

@yzt 메소드에 쓰레기를 추가 할 때 컴파일 에러가 발생합니다. –

+0

OK, d 메소드의 이름을 변경하고 CPP 파일에 구현 된 다른 메소드를 추가하여 동일한 문제가 발생하는지 여부를 확인하고 문제가있는 메소드의 구현을 인라인으로 이동하거나 다른 CPP 파일로 이동 등을 시도하십시오 (물론 이들은 진단의 모든 단계, 솔루션이 아닙니다.) – yzt

답변

2

프로젝트를 처음부터 다시 만들고 작동하는지 확인하십시오. 그 후에 귀하의 vcxproj 파일을 비교하십시오. 텍스트 파일입니다. 모든 텍스트 비교 도구가 작동합니다. 그들의 차이는 많이 알 수 있습니다.

또한 16 진수 편집기에서 소스 파일을 봅니다. 문제가있는 방법 및 주변에서 ASCII 기호가 아닌 문자를 찾습니다. 이러한 기호는 IDE 뷰어에 표시되지 않지만 여전히 컴파일러를 혼동시킬 수 있습니다.

0

귀하의 GLFWwowow 정의가 귀하의 .cpp에 포함 된 다른 파일에 의해 무시되고있는 것 같지 않습니다.

+0

이것을 확인하려면 .h에있는 모든 파일을 포함하고 지금 빌드되는지 확인하십시오. –