2010-12-07 10 views
1

안녕 얘들 아, 기기 독립적 인 C 프로젝트를 만들고 싶습니다. 예를 들어? 외부 라이브러리가 설치되어 있지 않지만 (내 프로젝트에 포함되어있는) 컴퓨터에서 내 프로젝트를 "모두"만들고 싶습니다. 모든 작업을 계속하기를 원합니다. 라이브러리에 대한 내용은 GSL입니다. libgsl0-dev 우분투 패키지. 이제 모든 헤더와 .c 파일을 프로젝트에 포함시키고 패키지를 제거하고 프로젝트를 빌드하고 실행해야합니다. 아이디어? 감사합니다. 안녕!외부 라이브러리가 포함 된 자체 프로젝트 만들기

+0

어떤 아이디어가 필요합니까? 당신은 혼자 힘으로 전략을 알아 낸 것 같습니다. 너 뭔가 붙어 있니? –

답변

0

라이브러리의 소스 코드를 프로젝트 계층 구조의 어딘가에 복사하고 Makefile (또는 GSL이 사용하는 것)을 작성하거나 수정하여 빌드를 시작하십시오.

예를 들어 디렉토리 external/libgsl에이 파일을 가지고 건물을 담당하는 프로젝트의 Makefile 대상을 설정할 수 있습니다. 그런 다음 프로젝트의 코드를 라이브러리의 코드에 종속되게하여 라이브러리가 항상 먼저 빌드되도록합니다.

물론 프로젝트를 배포 할 때 발생할 수있는 라이센스 문제에 대해서도 생각해 봐야합니다.

1

종속성을 잊지 마세요.

사용자가 독립적으로 끊임없이 프로젝트 GSL 버전 변경 내용을 업데이트 할 필요에서 당신을 저장하는 데 사용하는 소프트웨어의 라이브러리를 업그레이드 할 수 있습니다

는 GSL과 같은 라이브러리가 독립적 인 개체로 배포됩니다 이유가 있습니다.

라이센스 문제.

의존성. GSL에 의존성이 있고 프로젝트의 일부로 GSL을 빌드하려는 경우 모든 종속성에 대한 모든 소스 코드를 포함해야합니다 ... 종속 관계 및 종속 관계 ... 등등 . 하위 종속성을 이미 설치해야하는 요구 사항으로 만들려면 GSL이 이미 설치되어 있어야합니다.

내가 할 일이 많기 때문에 다른 생각을하기가 힘듭니다.

+0

프로젝트가 연구 목적 (대학 시험 프로젝트)이기 때문에 라이센스는 문제가되지 않지만 종속성이 문제 일 수 있습니다. 사실, 나는 2 ~ 3 개의 유틸리티 함수를 작성하고 GSL을 서랍에 남겨 둘 것이라고 생각합니다. :) –

관련 문제