2012-03-23 4 views
0

우리는 게임 엔진 용 편집기를 만들려고 노력 중이므로 Engine Pro 링크에서 Editor Proj의 링크를 만들었습니다. Lib 및 Include Dir의 경로가 Proj. 소품. WinAPI를 사용하거나 사용하지 않고 tryed하지만 Link Error는 여전히 남아 있습니다. 헤더에 직접 정의 된 기능이지만 C++ 파일에 정의 된 기능으로 인해 링크 오류가 발생합니다. Proj.에서 .cpp 파일을 추가해야합니다. 정확히 lib 디렉토리가 아닙니다. -.-자체 제작 라이브러리의 링크 오류

OS : 윈도우 7 64 비트

비주얼 스튜디오 2010

#include "pch.h" 

Application* g_pApp = NULL; 

INT WINAPI WinMain(__in HINSTANCE hInstance, __in_opt HINSTANCE hPrevInstance, __in LPSTR lpCmdLine, __in int nShowCmd) 
{ 
BlocoApp blocoApp(&g_pApp); 

// start engine 
Editor mainForm; 
if(!g_pApp->Init(L"Bloco", 1600, 900, true, hInstance)) 
{ 
    g_pApp->Exit(); 
    return 1; 
} 

// main loop 
DXUTMainLoop(); 

g_pApp->Exit(); 

return 0; 
} 

컴파일러 오류 :

error LNK2001: Nicht aufgelöstes externes Symbol ""public: bool __thiscall Application::Init(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >,unsigned int,unsigned int,bool,struct HINSTANCE__ *,struct HWND__ *)" ([email protected]@@[email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@@Z)". 
+0

일부 코드를 공유 할 수 있습니까? 또한 링커가 제공하는 특정 오류 메시지. – Attila

+0

실제 오류 (copy-n-paste)를 게시하십시오. 문제가있는 기능의 소스 (및 호출 사이트)도 도움이 될 것입니다. 나는 이런 종류의 일이 몇 번이나 요구되는지에 놀란다. –

+0

죄송합니다. 소스를 잊어 버렸습니다. ^^ –

답변

0

The Path for the Lib ... are remarked in the Proj. prop

난 당신이 디렉토리 곳을 구성한 것으로 의심 라이브러리는 프로젝트의 "추가 라이브러리 디렉토리"설정에 있습니다. 그러면 링커가 찾아야하는 라이브러리 파일을 찾을 위치를 구성합니다.

그러나 실제로 링커가 입력 파일로 라이브러리를 포함하도록 지시해야합니다. 이 작업은 "입력/추가 종속성"속성을 사용하여 IDE에서 수행됩니다.

+0

pch.h 헤더에 pragma comment (lib, "bloco.lib")가 추가되어 있습니다. #include 도 있습니다. 내 문장은 확실히 틀리다. –

+0

@ MathiasHölzl : 오 -'pragma'가 트릭을해야합니다. 다음과 같이하면 어떤 결과가 나옵니까?'dumpbin/symbols bloco.lib | "Init"를 찾으시겠습니까? (아마도 질문에 결과를 붙여 넣는 것이 가장 좋습니다 - 주석은 그것을 잘 포맷하지 않을 것입니다). –

+0

이 명령을 어디에 넣어야합니까? 링커 명령 줄을 사용하여 시도했지만이 명령은 정의되지 않았습니다. –

관련 문제