2013-10-18 4 views
1

Microsoft Visual Studio 2012를 통해 C++ 응용 프로그램을 컴파일하려고합니다. 응용 프로그램에 Boost, Jni, Acml 라이브러리를 연결했습니다.Ms Visual Studio 2012, "확인되지 않은 외부 기호"

다시 작성을 클릭하면 편집이 완료되지 않습니다. 이 첫 번째 오류 내가 얻을 수있다 :

오류 28 오류 LNK2019 : 확인되지 않은 외부 기호 기능에 "무효 __cdecl testLapackDGESDD_EASY (무효)"를 참조 _sgesdd C (testLapackDGESDD_EASY @@ YAXXZ?) : \ 사용자 \ DavideChicco \ Documents \ Visual Studio 2012 \ Projects \ Solution \ mainConsole.obj

이게 무슨 관련이 있는지 알고 계십니까?

+0

[이 질문에 참조] (http://stackoverflow.com/q/12573816/1782465); 당신은 LAPACK을 연결하지 않을 가능성이 가장 큽니다. – Angew

+1

나는 "too localized"를 놓친다 –

답변

1

귀하의 편집

덕분에 완료 한 것 같다,하지만 오류가 연결시 발생합니다 testLapackDGESDD_EASY에서 호출 한 함수 _sgesdd의 정의를 찾을 수 없습니다. 따라서
-이 함수는 외부 dll에 정의되어 있으며
lib을 추가해야하거나이 함수가 프로젝트에 정의되어 있어야하며 해당 정의를 구현해야합니다.

+0

그것은 그 자신의 기능이다. 링커가 찾을 수없는 "sgesdd"이다. –

+0

@Hans :이 실수를 지적한 사람. 나는 대답을 업데이트했다. – lolando

1

아하, 컴파일러는 "_sgesdd"함수를 찾을 수 없으므로 DLL 작성자가 제공 한 lib를 추가하는 것이 좋습니다.

관련 문제