Я использую 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
Благодарности
Im смущенный. Вы добавили две библиотеки для связывания в настройках фазы сборки, и вам интересно, почему линкер пытается связать их? Флаги -lev и -lhiredis сообщают компоновщику, чтобы вносить эти .a-файлы (в частности, их нужно называть libev.a и libhiredis.a), которые вы специально добавили в список ссылок. – qexyn
Я понимаю, что, но где-то внутри Xcode, необходимо установить, где он заставляет флаги библиотек, которые добавляются АВТОМАТИЧЕСКИ: -lev -lhiredis Я НЕ добавляю это MANUALLY где-нибудь из Xcode. –
Как еще линкер может знать, что вы хотите включить эти библиотеки? Xcode просто генерирует команды связи с помощью вводимых вами входов. Вы сказали Xcode связать несколько библиотек, и поэтому он передает это на компоновщик. Какое поведение вы ожидаете? – qexyn