arm-linux-gcc 오브젝트코드와 arm-linux-g++의 오브젝트 결함
글쓴이: hanseok / 작성시간: 일, 2004/02/08 - 3:52오후
arm-linux-gcc로 생성된 object파일이 있구요 ! (소스가 없습니다. )
물론 이것에 대한 header 파일도 있습니다.
제가 만든 소스 C 에서 사용
잘됩니다. (컴파일이 및 실행파일 생성까지==> 보드에서는 못해봤습니다.
다시 이것을 CPP에서 사용
안됩니다. (컴파일시 에러가 나타납니다. 링크에러 )==> 함수를 못찾는다고 나오네요..
arm-linux-g++ -c dete.c
arm-linux-g++ -o main dete.o lib.o (문제 object )
===함수 못찾는다는 링크 에러 쭈욱.. =======
====== 현제 작성되어 있는 코드가 class 를 사용한 cpp ====
보드에서 제공된 object는 C코드로 작성된듯 합니다.
이것을 해결할수 있는 방법이 있을까요..
Forums:
C로 작성된 헤더파일 내부에서 extern "C" { ... }이
C로 작성된 헤더파일 내부에서 extern "C" { ... }이렇게 되어있는지 확인하시기 바랍니다.
진리를 나의 수준으로 끌어내리지 마라.
나를 진리의 수준으로 끌어올려라. - 배꼽 중에서
음~~
음..
CPP는 제가 작성을 했습니다. (소스가 있는것이죠 )
C ==> 는 보드업체에서 제공을 했습니다. (소스 미제공)
라이브러리 lib.o, lib.h (제공)
lib.h 이것에는 함수의 프로토타입( ? ) 만 정의되어 있습니다.
제가작성한 CPP 에서 lib.h를 #include 하여서 사용하고
이곳의 함수를 main 에서 사용합니다.
g++ -c test.cpp 하면 object 파일이 나타납니다.
g++ lib.o test.o -o test <==
이곳에서 에러가 나타나고 있습니다.
이 에러를 해결하고 싶은것입니다.
보드를 주기 전에 이미 CPP 파일을 만들어 놓았고 이것을 C로 바꾸는것은 상당히 많은 작업을 해야 할듯합니다.
lib.o 에 있는것을 CPP로 바꾸고 싶은데 소스가 없네요
업체측에 소스및 CPP로 컴파일 한것을 요청은 했습니다.
잠이 들어야지만 꿈을 꿀수 있는것인가?
우리는 항상 꿈을 쫓아 가며 살아가는 사람들..
Re: 음~~
그렇다면 CPP 파일에서 인쿨루드 할 때 인클루드 될 파일을 아래처럼
extern "C" {
#include "lib.h"
}
extern 블럭으로 감싸주세요
별도로 CPP 파일을 요청할 필요는 전혀 없습니다.
감사드립니다.header 파일을 감쌀 생각은 안해봤습니다. 지
감사드립니다.
header 파일을 감쌀 생각은 안해봤습니다.
지금은 잘 되네요..
함수 사용하는 곳에서 extern으로 블럭지정만 했었네요.
잠이 들어야지만 꿈을 꿀수 있는것인가?
우리는 항상 꿈을 쫓아 가며 살아가는 사람들..
댓글 달기