2014-07-16 2 views
0

질문 문구를 잘 모르는 경우.이클립스에는 사용자 정의 파일이 포함되어 있습니다. (c)

저는 여러 프로젝트에 사용할 C 프로젝트 용 파일을 몇 개 만들었습니다.

이클립스 (Code Composer Studio) 작업 공간에서 이동하여 새 위치로 심볼 링크로 바꿀 수있었습니다.

Custom lib dir: ~/myfiles/customlib 

이것은 잘 작동하지만 내가 내 customlib 파일을 원하는 프로젝트에 심볼릭 링크를 추가 할 필요가 나는 오히려 심볼릭 링크를 사용하지 것입니다. 또한 이클립스에서 프로젝트를 복사/붙여 넣기 할 때 심볼릭 링크를 이해하지 못하고 심볼릭 링크가 아니라 파일의 복사본을 만듭니다.

~/myfiles /에 대한 포함 경로를 설정했지만 컴파일 할 때 해결되지 않은 기호 오류가 발생합니다.

내 사용자 정의 파일은 다른 포함 경로의 파일에도 의존합니다. (이것이 사물이 왜 파괴되는지에 대한 힌트 일 수도 있습니다)

다른 방법으로이 파일을 연결할 수 있습니까?

+0

정적 또는 공유 라이브러리를 만드는 라이브러리 프로젝트에 공용 파일을 넣는 것은 어떻습니까? 그런 다음 다른 프로젝트가 해당 라이브러리와 연결됩니다. include 경로는 헤더가있는 프로젝트를 알려줍니다. 이러한 헤더의 기호를 해결하려면 여전히 무언가와 연결해야합니다. – indiv

+0

나는이 일을 편안하게 할 수있는 자원으로 프로젝트를 사용하는 것에 익숙하지 않다. 내 걱정은 컴파일 된 코드가 필요한 것보다 조금 더 부 풀릴 수 있다는 것입니다. – user3817250

답변

0

내가 찾고있는 것을 어떻게 할 수 있는지를 알았지 만 실제로 8 시간 동안 답변을 게시 할 수 없으므로 여기서 대답하겠습니다.

.c 파일을 "링크 된 리소스"로 프로젝트에 추가 할 수있었습니다.

그래서 ~/myfiles 및 링크 된 리소스 ~/myfiles/customlib/myfile.c에 대한 포함 경로가 있습니다.

링크 된 자원은 프로젝트 속성에서 찾을 수 있습니다 -

불행하게도, 우분투 내 환경, 코드 컴포저 스튜디오 (Code Composer Studio) (6) 나 실제로 링크 추가 할 수 없습니다 것입니다> 링크 된 자원 (탭) -> 자원 -> 링크 된 자원 리소스를 IDE를 통해 확인하십시오.

해결 방법으로 .project 파일에 직접 링크 된 리소스를 추가했습니다.

~/작업/MyProject를 /의 .project

"본성"나는
<linkedResources> 
    <link> 
     <name>myfile.c</name> 
     <type>1</type> 
     <locationURI>$%7BPARENT-2-PROJECT_LOC%7D/myfiles/customlib/myfile.c</locationURI> 
    </link> 
</linkedResources> 

을 추가로 표시된 섹션에서

참조하는 "7BPARENT-2-PROJECT_LOC의 %의 7D에 $ %" ~/workspace/myproject /../../ (일명 ~ /). 2는 몇 마디입니까? ///

처음으로 프로젝트 속성 -> 자원 -> 링크 된 자원 -> 링크 된 파일 경로를 편집 할 수 있어야합니다. 리소스 (탭)

locationURI에 대해 정의 된 빌드 변수를 사용할 수 있습니다. 위치 URI를 작성하는 다른 방법은 다음과 같습니다. PROJECT_LOC /../../ myfiles/customlib/myfile.C

이이 결정 어떤 식으로 덮어 쓰게됩니다 일식 프로젝트 파일이기 때문에 당신은 태그를 수정하여 프로젝트 폴더로 링크 된 자원을 배치 할 수 있습니다 locationURI

에 대한 적절한 형식입니다. projectsubfolder/myfile.c. 그러면 프로젝트 디렉토리 아래에 projectsubfolder 폴더가 생성됩니다. ~/workspace/myproject/projectsubfolder

불행히도 내 최적의 솔루션이 아닙니다. 내 맞춤형 라이브러리에서 만드는 모든 소스 파일에 linkedresource 항목을 추가해야합니다. CCS는 프로젝트 복사/붙여 넣기를 수행 할 때 연결된 리소스를 더듬 거리며 건너 뜁니다. 따라서 연결된 리소스를 복사 된 프로젝트에 다시 추가해야합니다.

결국 해결책으로 느껴지지만 실제로는 심볼릭 링크 된 파일보다 많은 이점이 없습니다. 내가 복사/붙여 넣기 할 때 프로젝트가 컴파일되지 않을 때 프로젝트가 올바른 파일을 사용하고 있지 않다는 것을 알 수 있습니다. (symlinking은 원본 파일 대신 파일의 복사본이있는 작업 프로젝트를 만듭니다.)

삽입물을 조금 더 고통스럽게 만들기 위해 .lib 파일을 만드는 방법을 배워야 할 것이라고 생각합니다.

관련 문제