2009-04-25 3 views
3

TinyXML 파서에서 사용할 수있는 C++ 코드가 있습니다. 그러나 이렇게하려면 TinyXML의 소스 코드를 정규 소스 코드에 포함시켜야했습니다. TinyXML을 별도의 라이브러리로 포함시키고 싶습니다. Cygwin C++ 컴파일러로 Eclipse를 사용하고 있습니다. 이 작업을 수행하는 좋은 방법은 무엇입니까?C++/Eclipse에 include 용 라이브러리를 별도로 생성하는 방법

답변

4

당신이 자신의 프로젝트의 소스 코드에서 라이브러리를 분리하고 싶다고 가정합니다. 그러나 라이브러리가 같은 폴더에 없을 때 빌드하는 방법을 알지 못합니다. 라이브러리를 가정


이 * lib 디렉토리와 * .H 파일을 미리 컴파일했습니다

  1. 이동을 별도의 디렉토리에 라이브러리 소스 코드
  2. 메뉴 모음 "프로젝트"
  3. 메뉴 "속성" 모든 프로젝트 속성에 대한 대화 상자가 열리고 왼쪽에 목록이 표시됩니다.
  4. 목록 항목 "C/C++ Build"는 GUI를 변경하고 gcc의 컴파일러/링커/어셈블러에 대한 모든 옵션을 표시합니다. (결코 어셈블리를 수행하지 않으므로 어셈블러를 사용하지 않습니다.) [1]
  5. GCC C 컴파일러 -> 디렉토리 :
  6. 녹색 더하기 아이콘 [2] -> 당신의 * .H 파일의 경로
  7. 귀하의 컴파일러는 지금 행복해야한다을 지정합니다 (하지만 당신은 것입니다 > 도서관 - 링커가) 각 기능의 실제 정의가 무엇인지
  8. GCC C 링커 모르기 때문에 연결 실패 :
  9. 라이브러리 검색 경로 (-L)를 -> 녹색 더하기 아이콘을 -> * .lib 파일의 경로 지정
  10. 라이브러리 (-l) -> Gree N 플러스 아이콘 -> 당신은 지금 행복해야한다
  11. 귀하의 링커를 사용하는 각 라이브러리의 이름을 지정하고 코드가

[각주 - 1] 컴파일해야하는 GUI C/C가 창 ++ 빌드 래퍼입니다 gcc의 커맨드 라인 컴파일러/링커에서 모든 것을 시각적으로 보여주기 때문에 사용하기가 더 쉽습니다.

[각주 -2] '*'아이콘은 라이브러리 * .h 포함 파일의 위치를 ​​컴파일러에 알려줍니다. 컴파일러는 컴파일하기 전에 라이브러리의 프로토 타입 기능을 알기 위해 * .h 파일이 필요합니다.

  • 7 단계에서 당신이 필요 7.

    1. 동일한 단계를 수행 위의 단계를 제외하고 :


      당신은 (컴파일되지 않음) 실제 *가 .c와 * .H을 가정 Eclipse의 "managed make"가 라이브러리의 * .c 파일을 볼 수 있도록하십시오. 소스 코드가 표시되지 않으면 소스를 컴파일 할 수 있도록 소스를 지정해야합니다.

  • +0

    현재이 컴퓨터에는 Eclipse가 없습니다 ... Eclipse 옵션이 무엇인지 정확히 기억하지 못합니다.하지만 컴퓨터에 연결되면 바로 내 대답을 편집합니다. Eclipse로. 다른 사람들이 자유롭게 칩입 할 수 있습니다. –

    +0

    자세한 답변을 보내 주셔서 감사합니다! –

    2

    기본적으로 쉽습니다. 라이브러리의 소스 코드를 컴파일하고 ar (1)으로 라이브러리를 구성하십시오. 예, 놀랍습니다. 도서관은 단지 아카이브 일뿐입니다. 유닉스는 그런 식으로 멋지다.

    그런 다음 최종 코드를 작성할 때 코드를 정적 라이브러리로 포함 할 수 있습니다.

    이클립스를 사용하지 않기 때문에 IDE에서 정확한 프로세스를 말할 수는 없지만 필요한 것은 빌드하기 위해 별도의 프로젝트를 설정하는 것입니다.

    자, 원하는 것이 DLL을 빌드하는 것이라면 몇 가지 특수 플래그를 사용해야합니다. 멋진 페이지 here이 있습니다.

    관련 문제