static library 함수 호출
글쓴이: classicid / 작성시간: 토, 2016/05/28 - 11:58오전
기초적인 프로그래밍 질문 입니다.
libtest.a 파일을 생성한 후에
라이브러리에 있는 함수를 호출하는 main 함수를 만들고
arm-none-linux-gnueabi-g++ main.cpp =ltest -L./
을 했는데
main.cpp:(.text+0x10): undefine reference to 'test()' 라는 오류가 발생합니다.
main.cpp 에는
#include "../xxx/test.h"
...
test();
...
이런식으로 들어가 있어요.
Forums:
libtest.a 는 c 로 만들고, 링크는 c++
libtest.a 는 c 로 만들고, 링크는 c++ 로 한다면
링크 타임에서 mangling 된 함수 이름을 찾기때문에 발생하는 문제일 수 있습니다.
nm libtest.a 를 해서
test 앞뒤에 이상한 문자가 붙어있다면
test 함수의 선언 앞에 extern "C" 를 붙여서 해보세요.
댓글 달기