2017-05-06 6 views
0

안녕하십니까. 커널 모드 드라이버에 aux_klib 라이브러리를 포함하는 것에 대해 질문이 있습니다. 어떤 이유로 모든 aux_klib 함수에 대해 동일한 오류가 발생합니다.aux_klib 커널 라이브러리를 포함하여 해결되지 않은 외부

Error 1 error LNK2019: unresolved external symbol AuxKlibInitialize referenced in function "unsigned char __cdecl Main(struct MainInfo*)" ([email protected]@[email protected]@@Z) 

내가의 #pragma 주석했다 (lib 디렉토리, "aux_klib.lib")도 드라이버가 cpp에있는 코딩 내 프로젝트와 행운,있다. 또한 lib 디렉토리를 프로젝트에 추가하고 아키텍처를 빌드하는 프로젝트가 x64인지 확인했습니다. 나는 또한 extern "C"를 통해 헤더와 lib를 사용하여 함수를 포함 시키려고 시도했지만 링커 설정에 대한 모든 라이브러리 경로를 추가했습니다. 어떤 아이디어라도 환영합니다!

+0

이런 종류의 오류가 발생하면 링커 옵션 [/VERBOSE](h)/msdn.microsoft.com/ko-kr/library/wdsk6as6.aspx)을 추가하거나 최소한의 '/ VERBOSE : LIB'및 뷰 링커가 사용하는'aux_klib.lib'입니다. * AuxKlibInitialize * xux 버전의 * aux_klib.lib * – RbMm

+0

내 명령 행 옵션에/VERBOSE : LIB를 추가했는데 여전히 동일한 링커 오류가 추가 된 출력이 없으며 또한 IDA에 aux_klib.lib x64를 열고 내보내기를 보았습니다. 그들은 모두 거기에있는 것처럼 보입니다. – Opedn33

+1

물론이 옵션은 진단을 위해 오류를 수정하지 않습니다. '추가 출력 없음 '- 무슨 뜻입니까 - 링크로 어떤 메시지도 출력되지 않습니까? 믿지 않다. 빌드를 위해 msvc를 사용합니까? '/ VERBOSE'를 사용하고 링커 출력을 찾으십시오. * aux_klib.lib을 검색하고 있습니까? */nodefaultlib * 옵션을 사용할 수도 있습니다. 이 경우'#pragma comment (lib, "aux_klib.lib")'는 효과가 없습니다. 링커 입력 – RbMm

답변

0

Aux_klib.lib을 연결하는 데 동일한 문제가있어서 /VERBOSE:Lib을 설정했습니다.

프로젝트를 마우스 오른쪽 클릭 -> 속성 -> 링커 -> 일반 -> 내가 알고있는 것처럼 진행

For Libraries Searched /VERBOSE:Lib가 라이브러리 검색을 보여줍니다 보여주고 나는 Aux_klib.lib이 아닌 것으로 나타났습니다 그 수색에서. 출력에서 ​​또 다른 것을 발견했습니다. /NODEFAULTLIB도 명령 줄에 전달됩니다.

@RbMm가 말했듯이,

그가 당신이/NODEFAULTLIB 옵션을 사용할 수 있습니다 aux_klib.lib를 검색 할 수 있습니다. 이 경우 #pragma comment (lib, "aux_klib.lib")에는 효과가 없습니다.

그래서 내가 프로젝트를 마우스 오른쪽 클릭

Ignore All Default Libraries을 변경 -> 속성 -> 링커 -> 입력 -> 모든 기본 라이브러리

No

를 무시하고 모든 연결 및 컴파일 아주.

TL; 요컨대 DR

NoLinker하에 Ignore All Default Libraries을 변경 #pragma comment(lib, "aux_klib.lib") 사용하려고.