2016-07-12 4 views
0

Я использую Xcode 7.3.1 на el Capitan Я включил все * .a библиотеки, которые будут включены в настройку Build Phases-> Link Binary с библиотеками. Они будут включать в себя:Странная библиотека Xcode C++ явная настройка

libev.a 
libhiredis.a 

Когда я строю, я замечаю в рамках процесса ссылка:

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

Он добавляет следующие флаги:

-lev -lhiredis 

Как эти флаги, сгенерированные как я не включены никакие дополнительные флаги в соответствии с опцией ссылки:

Other librarian flags 
Other linkers 

Как сказано, эти 2 варианта остаются пустыми. Как отключить автоматически добавленные ключи?

-lev -lhiredis 

Или как мне не получить эти сгенерированные в команде ссылки. Как она стоит, сборка жалуется:

ld: library not found for -lev 

Благодарности

+0

Im смущенный. Вы добавили две библиотеки для связывания в настройках фазы сборки, и вам интересно, почему линкер пытается связать их? Флаги -lev и -lhiredis сообщают компоновщику, чтобы вносить эти .a-файлы (в частности, их нужно называть libev.a и libhiredis.a), которые вы специально добавили в список ссылок. – qexyn

+0

Я понимаю, что, но где-то внутри Xcode, необходимо установить, где он заставляет флаги библиотек, которые добавляются АВТОМАТИЧЕСКИ: -lev -lhiredis Я НЕ добавляю это MANUALLY где-нибудь из Xcode. –

+0

Как еще линкер может знать, что вы хотите включить эти библиотеки? Xcode просто генерирует команды связи с помощью вводимых вами входов. Вы сказали Xcode связать несколько библиотек, и поэтому он передает это на компоновщик. Какое поведение вы ожидаете? – qexyn

ответ

0

Чтобы исправить, ppecify библиотеки в двоичном файле Фазы-Link с библиотекой. Вам также необходимо указать путь поиска библиотеки в разделе «Настройки сборки».