2013-08-20 9 views
0

내가 다음과 같은 짓을 작동하지 않는 C 프로젝트에 대한 외부 lib 디렉토리를 추가이클립스 :

  1. 새로운 C 프로젝트 (기존 코드와 메이크 프로젝트)
  2. 추가 내 메이크 파일에 대한
  3. 을 불평 빌드 변수를 만듭니다
  4. 이제 내 소스 .c 파일은 lib 폴더가 어디에 있는지 모르기 때문에 #include 파일에 대해 불평합니다. 라이브러리 경로에 lib 폴더를 추가하려고 시도했습니다 (작동하지 않음).

내 .c 소스 파일이 #include에 필요한 .h 파일을 읽을 수 있도록 내 프로젝트를 외부 lib 폴더에 링크하려면 어떻게해야합니까?

Paths 및 Symbols-> Includes에 라이브러리 경로를 추가했지만 프로젝트로 돌아갈 때 루트 폴더 만 표시하고 그 안에는 아무것도 표시하지 않습니다. 각 .so lib 파일을 추가해야합니까?

+0

올바른 lib 경로를 추가하셨습니까?어쩌면 "추가 경로 포함"과 같은 것을 추가해야 할 수도 있습니다. 링크에 lib (s)를 링커에게 말한 경로에 additonal을 추가 했습니까? – dhein

+0

가능한 복제본 [Eclipse CDT에 라이브러리를 어떻게 추가합니까? (그런 파일이나 디렉토리가 없음)] (http://stackoverflow.com/questions/14287817/how-do-you-add-libraries-to-eclipse-cdt-no-such-file-or-directory) – thejh

+0

어떻게해야합니까? 링커에게 링크 할 라이브러리를 알려주시겠습니까? – wwjdm

답변

0

확인은 그래서 그것을 알아 냈 :

(1) 시작에서 내가 source.c 및 메이크했다 (2) (a)와 같은 외부 라이브러리를 추가 했으므로 # 변수가 불평하여 #include 파일이 불평하여 환경 변수 (4)에 변수가 추가되어 새로운 C 프로젝트 (기존 코드가있는 Makefile 프로젝트) 내 라이브러리 경로를 찾은 다음/lib 앞에 include 폴더가 있다는 것을 발견했습니다. (b) include 폴더에 헤더 파일 목록이 있습니다. (c) 그래서 include 폴더에 경로를 추가 했으므로 경로와 기호 아래에 lib 폴더가 포함되지 않습니다.

CHARM 같이 WORKED LIKE A CHARM!

0

여기 답변 : 추가 할 수있는 무엇

당신이 포함 하려는지에 따라 달라집니다 cyfur01 @How do you add libraries to Eclipse CDT? (No such file or directory)

최선의 답을 가지고있다. 부스트의 경우 헤더 전용 라이브러리가 여러 개 있으며 정적/공유 객체 라이브러리 (예 : 직렬화)에서 링크가 필요한 일부 라이브러리가 있습니다. 헤더 전용 라이브러리

헤더 전용 라이브러리의 경우 모든 헤더 파일의 기본 디렉토리 을 포함하면됩니다. gcc를 사용하여 -I 플래그 (예 : -I C :/path/to/boost_52_0)를 사용하여 디렉토리를 추가합니다. Eclipse에서 관리되는 메이크 프로젝트 , 당신은 같은 사용하여 속성> C/C++의

설정> 도구 설정> GCC C++ 컴파일러> 디렉토리 정적/공유 - 개체 라이브러리

의 경우 빌드 수행 할 수 있습니다 정적/공유 객체 라이브러리, 당신은 두 가지 옵션을 지정해야합니다 @ 크리스으로

-l --> The name of the library, less the 'lib' prefix and the file suffix (e.g., libboost_serialization.dll -> boost_serialization 
-L --> The directory to look for the library file in. This is only needed if the library is on a non-standard path. 

관리되는 메이크 프로젝트에 대한 지적을,이 옵션을 모두 소유를 통해 설정할 수 있습니다 erties> C/C++ 빌드> 설정> 도구 설정> GCC C++ 링커> 라이브러리