2011-11-29 5 views
0

XCode 4를 사용하여 정적 라이브러리에서 소스 코드를 제거하려면 어떻게해야합니까? 대상에 Xcode 3이있을 때 소스 목록이 있고 삭제할 수 있지만 Xcode 4를 사용하면 대상을 확장 할 수 없습니다 ...정적 라이브러리의 소스 코드 제거 XCode 4

일부 libtool에서 olso를 수행 할 수 있습니까?

Thansk!

+0

다른 프로젝트에서 해당 라이브러리를 열어 놓았습니까? 나는 그것이 한 곳 이상에서 열려 있으면 그것이 확장 될 수 없다는 것을 발견했다. 라이브러리 프로젝트 만 사용하는 등 다른 프로젝트를 모두 닫았을 때 나머지 하나의 프로젝트에서 소스를 확장 할 수있었습니다. – Jim

+0

내 라이브러리 프로젝트 만 열면 대상도 확장 할 수 없습니다 ... 심지어 XCode 4에서도 확장 가능한 대상을 볼 수 없으므로 다른 솔루션이있을 수 있습니다 ... –

답변

1

무슨 뜻인지 잘 모르겠지만 바이너리/라이브러리에서 심볼을 제거하려면 strip 명령을 사용해야합니다.

정적 라이브러리는 소스 코드가 아니며 기계어 코드입니다.
정적 라이브러리 만있는 경우 원본 파일에 액세스 할 수 없습니다.

그렇지 않은 경우 라이브러리 대신 "대상"을 사용했다면 실제로 Xcode를 사용하여 라이브러리를 작성하고 해당 특정 소스 파일을 라이브러리로 컴파일하지 않으려면 해당 대상의 "대상 멤버십"섹션을 사용하십시오. Xcode 오른쪽 패널 (유틸리티).

파일을 선택하면, 당신은 소스 파일의 대상으로 설정할 수 있습니다

enter image description here

+0

정적 라이브러리를 작성하려고합니다. 내 고객을 위해 libXXX.a 파일을 컴파일하면 내 소스 코드가 libXXX.a에 들어간다는 것을 알게되지만 컴파일 된 코드 만 제공해야합니다 ... –

+0

정적 라이브러리는 이해하지 못합니다. 내가 말했듯이 소스 코드를 포함하고있다. Finder에서 libXXX.a 파일을 공개하십시오. 컴파일 된 코드 만 보입니다. – Macmade

+0

mmm ... 나는 라이브러리의 테스트 프로젝트에서 libXXX.a에 오류가있을 때 디버거가 정적 라이브러리 소스 코드를 표시하므로 오류가있는 경우 고객에게 라이브러리를 전달할 때 말합니다. 그의 xcode 디버거는 내 소스 코드를 보여 줍니까 ??? –

0

난 당신이 라이브러리 소스 프로젝트에 추가해야 겠지 그리고 당신이 그들을 제거 할 특정 대상. 프로젝트 (왼쪽의 최상위 항목)를 선택하고 "대상"아래에서 대상을 선택하고 "빌드 단계"를 클릭 한 다음 "소스 컴파일"에서 각 항목을 제거하십시오.

+0

나는 이미 그 일을하려고하지만 ... "Compile Sources"의 모든 파일을 삭제하면 프로젝트에 libXXX.a 출력이 없습니다. –

+0

@Macmade가 정확합니다. 라이브러리는 방금 컴파일 된 코드입니다. – pmf

0

정적 라이브러리 대상의 빌드 설정에서 '배포 후 처리'및 '복사 중 디버그 기호 제거'를 선택하십시오. 컴파일 된 코드이므로 기호를 제거 할 필요가 없습니다.

관련 문제