그램 ++ (우분투/리나 4.4.4-14ubuntu5)는 I라고 sdpAPI.a 다음 정적 라이브러리가 4.4.5"정의 참조"정적 라이브러리
대해 연결. 테스트 응용 프로그램과 연결하는 데 문제가 있습니다. 내가 뭔가 잘못하고 있는지 궁금해. 정적 라이브러리는 g ++로 빌드되었습니다.
/projects/unit_test/main.c
/projects/unit_test/sdp/inc/sdpAPH.h
/projects/unit_test/sdp/lib/sdpAPI.a
내 소스 코드는 다음과 같습니다 :
#include <stdio.h>
#include "sdpAPI.h"
int main(void)
{
printf("----- TEST SDP ------\n");
try {
sdpSessionDescription sdp;
sdp.clear();
}
catch(...) {
printf("----- TEST FAILED --------\n");
return 0;
}
printf("------ TEST SUCCESSFULL ------\n");
return 0;
}
을 그리고 내 메이크 파일이 있습니다 :
OBJECT_FILES = main.o
CC = g++
CFLAGS = -Wall -Wextra -Wunreachable-code -ggdb -O0
TARGET = sdp_demo
INC_PATH = -I sdp/inc
LIB_PATH = -L sdp/lib/sdpAPI.a
$(TARGET): $(OBJECT_FILES)
$(CC) $(CFLAGS) $(INC_PATH) $(LIB_PATH) $(OBJECT_FILES) -o $(TARGET)
main.o: main.c
$(CC) $(CFLAGS) $(INC_PATH) $(LIB_PATH) -c main.c
clean:
rm -f $(TARGET) $(OBJECT_FILES) *~
이는 내가 링커 오류는 다음과 같이
내 디렉토리입니다 점점 :
어떤 제안에 대한 78,많은 감사,
정적 라이브러리를 다음에 복사했습니다 : libsdpAPI.a와 다음 행을 편집했습니다. LIB_PATH = -L sdp/lib -l sdpAPI. 그러나, 나는 여전히 정의되지 않은 동일한 참조를 얻고있다. 감사. – ant2009
@ ant2009 주문이 중요하기 때문입니다. 업데이트 된 답변을 참조하십시오. – paxdiablo
감사합니다. 나는 그것을 잘못 주문했다. 나는 공유하는 일에 너무 익숙하다. 나는 정적 인 순서에 대해 몰랐다. 감사. – ant2009