gcc로 컴파일된 라이브러리의 함수를 QT (creator) 어플리케이션(GUI)에서 호출하는 방법
글쓴이: standalon / 작성시간: 토, 2020/10/17 - 11:33오전
QT creator(IDE)에서 static 라이브러리(libA.a)를 만들고, 이를 호출하는 어플리케이션(AppA)을 만들었고, 정상적으로 작동함을 확인하였습니다.
비슷하게, gcc를 이용하여 static 라이브러리(libB.a)를 만들고, 이를 호출하는 어플리케이션(AppB)을 만들었고, 정상적으로 작동함을 확인하였습니다.
목표는 gcc로 컴파일된 static 라이브러리(libB.a)를 QT creator에서 만든 어플리케이션(AppA)에서 호출하려고 하는데 다음과 같은 에러가 발생합니다. (error: undefined reference to LibBFunc(int, int))
문제를 정확하게 설명하면, 다른 사람이 우분투의 gcc로 컴파일된 라이브러리를 QT creator(IDE)에서 개발된 GUI 프로그램이 호출하려고 하는데 위와 같은 에러가 발생해서 어려움을 겪고 있습니다. 관련된 자세한 코드는 아래 URL에 있습니다.
Forums:
LIBS += libB.a
LIBS += libB.a
C 컴파일러인 gcc로 컴파일한 LibBFunc()을
C 컴파일러인 gcc로 컴파일한 LibBFunc()을 C++ 컴파일러인 g++ 어플에서 사용하다 보니 생긴 문제로 보입니다. 헤더파일의 선언부를 아래와 같이
extern "C" { ... }
식으로 감싸면 C++ 컴파일러에서도 문제가 생기지 않을 겁니다.댓글 달기