2016-07-12 2 views
0

엘 캐피 탄에서 Xcode 7.3.1을 사용 중입니다. 빌드 단계 -> 라이브러리와 바이너리 연결 설정에 포함될 모든 * .a 라이브러리가 포함되었습니다. 이들은 다음을 포함합니다 :이상한 Xcode 라이브러리 C++ 명시 적 설정

libev.a 
libhiredis.a 

내가 빌드 할 때, 내가 링크 과정에서주의 사항 :

-lev -lhiredis 

어떻게 이러한 플래그가 I로 생성됩니다

Ld /Users/quantlabsnet/Library/Developer/Xcode/DerivedData 

그것은 다음과 같은 플래그를 추가합니다 연결 옵션에 추가 플래그가 포함되어 있지 않음 :

Other librarian flags 
Other linkers 

마찬가지로이 두 옵션은 공백으로 남습니다. 어떻게 자동으로 추가 된 스위치를 억제합니까?

-lev -lhiredis 

또는 어떻게하면 링크 명령에서 생성되지 않습니까? , 수정 라이브러리 빌드 페이즈 - 링크 바이너리 라이브러리를 ppecify하기

ld: library not found for -lev 

감사

+0

혼란스러워. 빌드 단계 설정에서 링크 할 라이브러리 두 개를 추가했는데 링커가 링크하려는 이유가 궁금한가요? -lev와 -lhiredis 플래그는 특히 링크 목록에 추가 한 .a 파일 (특히 libev.a와 libhiredis.a라는 이름이어야 함)을 가져 오기 위해 링커에게 알려줍니다. – qexyn

+0

Xcode의 어딘가에는 자동으로 추가 된 라이브러리 플래그가 강제 설정되는 설정이 있어야 함을 이해합니다. -lev -lhiredis Xcode에서이 위치를 수동으로 추가하지 않습니다. –

+0

링커는 그 라이브러리를 포함시키고 싶다는 것을 어떻게 알 수 있습니까? Xcode는 사용자가 지정한 입력을 사용하여 링크 명령을 생성합니다. 당신은 Xcode에게 몇 개의 라이브러리를 연결하도록 말했고, 그래서 그것을 링커에게 전달합니다. 대신에 어떤 행동을 기대합니까? – qexyn

답변

0

: 약자로, 빌드가 불평. 또한 빌드 설정 아래에서 라이브러리 검색 경로를 지정해야합니다.