다음과 같은 오류가 발생합니다.
libxml / tree.h 해당 파일 또는 디렉토리 없음
이미 libxml2.dylib
프로젝트에 추가 했지만 이런 유형의 문제가 발생합니다. 제발 도와주세요.
다음과 같은 오류가 발생합니다.
libxml / tree.h 해당 파일 또는 디렉토리 없음
이미 libxml2.dylib
프로젝트에 추가 했지만 이런 유형의 문제가 발생합니다. 제발 도와주세요.
답변:
지시에 따라 여기 에서, "프로젝트 파일 설정."
프로젝트 파일 설정
프로젝트에 libxml2.dylib를 추가해야합니다 (프레임 워크 섹션에 넣지 마십시오). Mac에서는에서 찾을 수
/usr/lib/libxml2.dylib
있고 iPhone에서는/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.0.sdk/usr/lib/libxml2.dylib
버전을 원할 것 입니다.libxml2는 .dylib (친근한 .framework가 아님)이기 때문에 여전히해야 할 일이 하나 더 있습니다. 프로젝트 빌드 설정 (프로젝트-> 프로젝트 설정 편집-> 빌드)으로 이동하여 "검색 경로"를 찾으십시오. "Header Search Paths"에서 다음 경로를 추가합니다.
$(SDKROOT)/usr/include/libxml2
또한 OP의 답변을 참조하십시오 .
/usr/include
합니다. libxml2 설치를 시도하지 않았으므로 기본 동작을 확인할 수 없습니다. 그러나 예, 그렇게 연결하는 것이 훨씬 낫습니다.
libxml2를 추가하는 것은 엉덩이에 크고 뚱뚱하고 까다로운 고통입니다. 그렇게하려는 경우 프로젝트를 너무 많이 구축하기 전에해야합니다.
두 가지 방법으로 추가해야합니다 .
프로젝트가 아닌 대상을 클릭하고 Build Phases
.
라는 제목 의 표시 삼각형을 클릭합니다 Link Binary With Libraries
. +
라이브러리를 추가하려면를 클릭하십시오 .
목록 맨 아래로 스크롤하여을 선택 libxml2.dylib
합니다. 그러면 프로젝트에 libxml2 라이브러리가 추가됩니다.
이제 프로젝트에서 찾을 위치를 세 번 더 알려야합니다 .
을 선택합니다 Build Settings tab
.
Linking
섹션 까지 아래로 스크롤합니다 . 프로젝트 열 아래에서 Other Linker Flags
행을 두 번 클릭하십시오 . 를 클릭하고 목록에 +
추가 -lxml2
합니다.
아직 더 많이.
같은 탭에서 Search Paths
섹션 까지 아래로 스크롤합니다 .
Framework Search Paths
행 의 프로젝트 열 아래 에 /usr/lib/libxml2.dylib
.
에서 Header Search Paths
와User Header Search Paths
행 추가 $(SDKROOT)/usr/include/libxml2
.
마지막 두 경우에서 경로가 디버그 및 릴리스에 입력되었는지 확인하십시오 .
언더 Product
메뉴 선택 Clean
.
그런 다음 내가 당신이라면 (그리고 그것을 직시하면 아마 그렇습니다) 나는 Xcode를 그만두고 떠나 버릴 것입니다. 돌아와서 발사하면 잘 가야합니다.
opening import file 'Swift.swift': Not a directory
Xcode 5에서이 작업을 수행 한 후
1) "libxml2.dylib"라이브러리를 내 프로젝트의 TARGET (빌드 단계-> 라이브러리와 바이너리 연결)에 추가합니다.
2) TARGET의 헤더 검색 경로에 "$ (SDKROOT) / usr / include / libxml2"를 추가합니다 (빌드 설정-> 헤더 검색 경로).
그 후에 타겟이 성공적으로 빌드되어야합니다.
또한 /usr/include/libxml2
포함 경로 에 추가 해야합니다.
@Matt Ball의 링크를 형성하고,
다음이 도움이된다는 것을 알았습니다.
프로젝트에 libxml2.dylib를 추가해야합니다 (프레임 워크 섹션에 넣지 마십시오). Mac에서는에서 찾을 수 /usr/lib/libxml2.dylib
있고 iPhone에서는 /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.0.sdk/usr/lib/libxml2.dylib
버전을 원할 것 입니다.
libxml2는 .dylib (친근한 .framework가 아님)이기 때문에 여전히해야 할 일이 하나 더 있습니다. 프로젝트 빌드 설정 ( Project->Edit Project Settings->Build
)으로 이동 하여 " Search Paths
"을 찾습니다 . "Header Search Paths"에서 Mac의 다음 경로를 추가합니다.
/usr/include/libxml2
Ray Wenderlich는이 문제를 해결하는 gdata 사용에 대한 블로그 게시물을 가지고 있습니다. 기본적으로 다음과 같은 간단한 단계 :
XCode에서 Project \ Edit Project Settings를 클릭하고 "All Configurations"가 선택되어 있는지 확인합니다.
검색 경로 \ 헤더 검색 경로 설정을 찾고 / usr / include / libxml2를 목록에 추가하십시오.
마지막으로 Linking \ Other Linker Flags 섹션을 찾아 목록에 -lxml2를 추가합니다.
원래 게시물 : gdataxml로 xml 문서 읽기 및 쓰기
Mavericks (OS X 10.9)부터 / usr / include 디렉토리 가 사라졌습니다 . include 디렉토리를 정렬 할 때까지 응용 프로그램이 컴파일되지 않기 때문에 여기에있는 대답의 절반은 더 이상 사용되지 않습니다.
다음 명령을 사용하여 터미널에서 MacOSX SDK에 대한 심볼릭 링크를 만드는 문제를 해결했습니다.
sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include /usr/include
이제 응용 프로그램이 다시 컴파일됩니다.
Snow Leopard 및 XCode 3.2로 업그레이드 한 후 프로젝트 (Leopard에서 XCode 3에서 개발 한 것)를 다시 열 때이 문제가 발생했습니다. 흥미롭게도 일부 종류의 빌드에만 영향을 미쳤습니다 (에뮬레이터 빌드는 괜찮 았고 장치 빌드는 오류를주었습니다). 그리고 / usr / include에 libxml2가 있으며 실제로 libxml / tree.h가 포함되어 있습니다.
심지어 마법 "클린"작업하지 않았다 하지만 (Apple 로고 및 파일 사이의)은 "엑스 코드"메뉴에서 "... 빈 캐시"속임수를 썼는지 (해당 메뉴는 이전 버전에 있던?). 그 이유는 나에게 이겼지 만 청소 후 libxml / tree.h에 대한 불만은 더 이상 없었습니다.
다음 단계를 따르십시오
libxml2 추가
libxml2.dylib는 /usr/lib/libxml2.dylib의 Mac machin에서 찾을 수 있습니다.
"헤더 검색 경로"변경
[프로젝트 이름] (왼쪽 패널)-> 프로젝트-> 빌드 설정-> 모두 선택 (기본값은 기본)
검색 상자에 헤더 검색 경로 입력 헤더 검색 경로를
두 번 클릭-> +- > "$ (SDKROOT) / usr / include / libxml2"
"기타 링커 플래그"에 -lxml2를 추가
합니다. 2 단계에서 검색 할 때 "기타 링커 플래그"를 검색
하고 "기타 링커 플래그"행을 클릭합니다. "+"를 클릭하고 "-lxml2"를 목록에 추가하십시오.
프로젝트 유형을 ARC로 변경-> 아니오 즉 자동 참조 계수를 아니오로 변경하십시오. 2 단계에 따라 ARC를 검색 할 수 있습니다.
Xcode 4.5 저는 The CW의 솔루션을 완전히 사용했습니다. 유일한 예외는 $ (SDKROOT) / usr / include / libxml2가 나를 위해 작동하지 않았고 "$ (SDK_DIR)"/ usr / include / libxml2 를 내 프로젝트 헤더 검색 경로 및 사용자 헤더 검색 경로 에 추가해야한다는 것입니다. . 그 후 프로젝트가 성공적으로 빌드됩니다.
편집 : 내 프로젝트 (MyProject라고 함)에 Google GData 프로젝트가 있습니다 (내 프로젝트 사용). GData에는 libxml이 필요합니다. MyProject 프로젝트를 성공적으로 빌드하기 위해 MyProject의 헤더 검색 경로에 "$ (SDK_DIR)"/ usr / include / libxml2를 추가하고 GData의 헤더 검색 경로에는 no를 추가 합니다. MyProject에 추가 하지 않으면 프로젝트 가 빌드되지 않았습니다 ).
이 시각적 자습서가 유용하다는 것을 알았습니다 .
Blockquote Xcode 4.3.x에서 libxml2 추가
libxml2를 추가하는 것은 엉덩이에 크고 뚱뚱하고 까다로운 고통입니다. 프로젝트를 너무 많이 구축하기 전에 그렇게하려고한다면.
방법은 다음과 같습니다.
타겟 설정
프로젝트가 아닌 대상을 클릭하고 "Build Phases"를 선택합니다. "Link Binary With Libraries"라는 표시 삼각형을 클릭합니다. 라이브러리를 추가하려면 "+"를 클릭하십시오. 목록 맨 아래로 스크롤하여 "libxml2.dylib"를 선택하십시오. 그러면 프로젝트에 libxml2 라이브러리 2가 추가됩니다…
프로젝트 설정
이제 프로젝트에서 찾을 위치를 세 번 더 알려야합니다.
"빌드 설정 탭"을 선택하십시오. "연결"섹션까지 아래로 스크롤합니다. 프로젝트 열에서 "기타 링커 플래그"행을 두 번 클릭합니다. "+"를 클릭하고 "-lxml2"를 목록에 추가하십시오.
아직 더 많이.
같은 탭에서 "검색 경로"섹션까지 아래로 스크롤합니다. "Framework Search Paths"행의 프로젝트 열 아래에 "/usr/lib/libxml2.dylib"를 추가합니다.
"Header Search Paths"및 "User Header Search Paths"행에 "$ (SDKROOT) / usr / include / libxml2"를 추가합니다. 마지막 두 경우에는 디버그 및 릴리스에 경로가 입력되었는지 확인하십시오.
그때. "제품"메뉴에서 "청소"를 선택합니다.
이것은 작동하며 Xcode5에서도 마찬가지입니다! 감사합니다!
@Aqib Mumtaz-위의 Parris 노트의 "Adding libxml2 in Xcode 4.3 / 5/6"라는 제목의 지침에 따라 작업했습니다. 프레임 워크 검색 경로를 사용하는 단계가 작동하지 않고 컴파일러가 불평합니다. 어쨌든 그 친구에게 큰 명성!
Xcode 6.2b3을 사용하고 있습니다.
사용중인 Xcode 버전에 관계없이 버그가 있습니다. 컴파일 오류가 실제라고 항상 가정하지는 마십시오. 헤더 검색 경로를 따르지 않고 명확하게 나열된 포함을 찾을 수없는 경우가 많습니다. 더 나쁜 것은 결과적으로 발생하는 오류로 인해 다른 방향을 가리키는 경향이 있으므로주의를 산만하게하는 데 많은 시간을 낭비하게됩니다. 그 말로 ...
다음과 같이 정확히 시작하여 아기 단계를 권장합니다 ... :
노트:
도움이 되었기를 바랍니다.
재향 군인을위한 무언가를 개발하고있는 경우, iPhone / iPad 또는 Mac 앱을 사용하고 의료 기록 시스템에 대한 SOAP 기반 인터페이스 인 "MDWS"또는 "VIA"라는 항목에 대해 작업하고 있다면 저에게 연락하십시오.
1) 나는이 빌드 Phases.follow에 libxml 파일을 추가 링크
2) 다른 링커 플래그 를 -ObjC
(프로젝트 및 테스트 프로젝트 대상 모두)로 추가했습니다.
3) 헤더 검색 경로 를 "${SDKROOT}/usr/include/libxml2"
(양쪽에 큰 따옴표를 잊지 마십시오) (프로젝트 및 테스트 프로젝트 대상 모두)로 설정했습니다.
그들 중 하나가 문제를 해결할 것입니다. 그렇지 않은 경우 위의 세 가지를 모두 적용해야합니다.
내가 잘못 추가했는데 문제가 아크를 지원하지 않는다는 것을 알고 있으므로 여기에서 지원을 확인하십시오, 생명의 은인-> http://www.michaelbabiy.com/arc-compliant-gdataxml-library/