Библиотека не найдена для -lDoubleConversion

Я попытался построить на XCode, но возникла ошибка ld: library not found for -lDoubleConversion. Я мог собрать react-native run-ios. Это сработало бы, но XCode не смог построить ...

ld: warning: directory not found for option '-L/Users/xxxxx/Library/Developer/Xcode/DerivedData/xxxxx/Build/Products/Debug-iphonesimulator/DoubleConversion' ld: warning: directory not found for option '-L/Users/xxxxx/Library/Developer/Xcode/DerivedData/xxxxx/Build/Products/Debug-iphonesimulator/Folly' ld: warning: directory not found for option '-L/Users/xxxxx/Library/Developer/Xcode/DerivedData/xxxxx/Build/Products/Debug-iphonesimulator/GTMOAuth2' ld: warning: directory not found for option '-L/Users/xxxxx/Library/Developer/Xcode/DerivedData/xxxxx/Build/Products/Debug-iphonesimulator/GTMSessionFetcher' ld: warning: directory not found for option '-L/Users/xxxxx/Library/Developer/Xcode/DerivedData/xxxxx/Build/Products/Debug-iphonesimulator/Google-Maps-iOS-Utils' ld: warning: directory not found for option '-L/Users/xxxxx/Library/Developer/Xcode/DerivedData/xxxxx/Build/Products/Debug-iphonesimulator/GoogleToolboxForMac' ld: warning: directory not found for option '-L/Users/xxxxx/Library/Developer/Xcode/DerivedData/xxxxx/Build/Products/Debug-iphonesimulator/Protobuf' ld: warning: directory not found for option '-L/Users/xxxxx/Library/Developer/Xcode/DerivedData/xxxxx/Build/Products/Debug-iphonesimulator/React' ld: warning: directory not found for option '-L/Users/xxxxx/Library/Developer/Xcode/DerivedData/xxxxx/Build/Products/Debug-iphonesimulator/glog' ld: warning: directory not found for option '-L/Users/xxxxx/Library/Developer/Xcode/DerivedData/xxxxx/Build/Products/Debug-iphonesimulator/leveldb-library' ld: warning: directory not found for option '-L/Users/xxxxx/Library/Developer/Xcode/DerivedData/xxxxx/Build/Products/Debug-iphonesimulator/nanopb' ld: warning: directory not found for option '-L/Users/xxxxx/Library/Developer/Xcode/DerivedData/xxxxx/Build/Products/Debug-iphonesimulator/react-native-google-maps' ld: warning: directory not found for option '-L/Users/xxxxx/Library/Developer/Xcode/DerivedData/xxxxx/Build/Products/Debug-iphonesimulator/react-native-maps' ld: warning: directory not found for option '-L/Users/xxxxx/Library/Developer/Xcode/DerivedData/xxxxx/Build/Products/Debug-iphonesimulator/yoga' ld: library not found for -lDoubleConversion clang: error: linker command failed with exit code 1 (use -v to see invocation)

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
25
0
20 918
14

Ответы 14

XCode не может найти библиотеку lDoubleConversion, вам нужно добавить библиотеку в файл какао-стручков.

вы можете легко сделать это, выполнив следующие действия

1. Добавьте файл библиотеки в свой подфайл.

pod 'DoubleConversion', :podspec => './../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec'

2. удалить Podfile.lock

3. запустить установку модуля

4. Добавьте DoubleConversion.a в связанные с xcode фреймворки и библиотеки.

5. Очистите проект и постройте заново.

Это должно сработать.

Где я могу найти DoubleConversion.a, чтобы добавить его?

Vedavyas Bhat 07.03.2019 13:30

не уверен насчет DoubleConversion.a, но DoubleConversion lib находится в node_modules / response-native / стороннем

BONEMX 08.03.2019 23:02

У меня была эта проблема немного назад после обновления до RN 0.59.

Решение, которое сработало для меня, заключалось в том, чтобы удалить папку ios/build, а затем сделать следующее:

cd ios

pod install

Когда я это сделал, я увидел ошибку Folly, и люди рекомендовали это сделать:

pod deintegrate

pod install

Я сделал это, но он все равно будет выдавать ошибку о Folly, поэтому я удалил Podfile.lock, потому что в модулях хранится старая версия Folly, несовместимая с RN 0.59.

ПРИМЕЧАНИЕ. Я нашел сообщение от кого-то, в котором говорится, что удаление всего файла блокировки не рекомендуется. Вместо этого вы должны удалить только соответствующие строки в файле блокировки, те строки, которые относятся к Folly. Я уже удалил файл блокировки, но все обошлось.

Я запустил pod update, который обновил кучу вещей и успешно завершился.

В следующий раз, когда я запустил pod install, он выдал хороший список «зеленых», успешных установок.

Затем я снова сделал react-native run-ios, и это сработало впервые за долгое время, за исключением того, что создавало красный экран смерти.

Поэтому я удалил свое приложение с устройства симулятора iOS, а затем запустил:

rm -rf node_modules

npm install

killall -9 node

killall -9 node предназначен только для того, чтобы убить Metro Bundler. Это моя любимая широкая команда для этого. Если вы используете на своем компьютере двенадцать API-интерфейсов node.js, возможно, вместо этого выполните что-то вроде sudo lsof -i :8081 и найдите идентификатор процесса для Metro Bundler (ов) и уничтожьте их по PID. Например, если вы видите, что Metro Bundler работает как PID 27322, выполните kill -9 27322.

Затем я запустил это в автономном терминале:

npm start -- --reset-cache

обратно в интегрированный терминал VS Code:

react-native run-ios

ЭТО СРАБОТАЛО !!!!!!!!

Затем я побежал:

react-native run-android

это сработало, но застряло на 0% на устройстве симулятора, поэтому я удалил APK с симулятора и снова запустил react-native run-android.

ЭТО СРАБОТАЛО !!!!!!!!

Любите энтузиазм

Sandy 15.08.2019 17:24

он перестал работать после того, как я добавил еще один пакет и сделал npm i

Alex Buznik 16.12.2019 21:16

Для меня я решил просто открыть MyAppName.xcworkspace вместо MyAppName.xcodeproj, а затем собрать.

Для меня тоже ... но почему?

Sandy 15.08.2019 17:24

Вау, большое спасибо, что решил мою проблему. Но было бы лучше, если бы вы пролили свет на это исправление.

Naveen Raju 14.10.2019 08:06

Что касается того, почему это, вероятно, потому, что вы используете cocoapods, а модули включены только в рабочую область, поэтому не собираются при сборке из xcodeproj.

Daniel Schlaug 22.10.2019 11:53

Для тех, кто плохо знаком с React Native, как и я, вы можете найти . xcworkspace в [имя_проекта] / ios /.xcworkspace - откройте это в Xcode вместо * .xcodeproj (я потратил полчаса, запутавшись в xcworkspace против xcodeproj)

Dru 27.10.2019 19:38

это очень странно ... у меня был проект сохранения ios в xcode, и он всегда работает нормально ... но теперь мне пришлось удалить этот проект и добавить его снова, и он начал работать ... в любом случае спасибо

Lukáš Šálek 27.01.2020 10:02

Спасибо!!! Это исправило это.

Sara Inés Calderón 13.05.2021 23:24

Это должен быть отмечен правильный ответ @Shun Yamada

arun 30.05.2021 13:57

Иногда это так же просто, как pod install внутри /ios, затем закрыть xcode, снова открыть его и пересобрать. Работал у меня.

Для меня сработали следующие шаги:

  1. Удалите use_frameworks! из ios / Podfile.

    target 'AwesomeProject' do
        # use_frameworks!
        ...
    end
    
  2. Добавить модуль DoubleConversion в ios / Podfile

    target 'AwesomeProject' do
        # use_frameworks!
        ...
        pod 'DoubleConversion', :podspec => '../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec'
    end
    
  3. Очистить стручки.

    pod deintegrate
    
    pod rm Podfile.lock
    
  4. Переустановите капсулы

    pod install --repo-update --verbose
    
  5. Откройте AwesomeProject.xcworkspace и запустите приложение.

Надеюсь, это кому-то поможет :)

@RocBoronat Конечно, это означает просто удалить этот файл. Опция '-r' не нужна, поскольку это просто файл, а не папка; вам может потребоваться '-f' в зависимости от прав доступа к файлу и вашего пользователя в системе.

Ashwin 12.05.2020 13:14

Ой, я понимаю. Но вы написали pod rm Podfile.lock. Может, кто-то из-за этого заблудился.

Roc Boronat 12.05.2020 18:09

Моя проблема заключалась в том, что я перешел на React Native 0.60 с cocoapods, и я забыл обновить свой процесс сборки Fastlane для сборки с использованием .xcworkspace вместо файла .xcproj.

Я сузил круг вопросов, заметив, что могу создавать и архивировать сборку с помощью Xcode, но моя сборка Fastlane не удалась. Новичек.

Активация Find Implicit Dependencies для схемы на xcode решила проблему в моем проекте.

Это случилось со мной при создании проекта на терминале, а не на XCode, и это произошло как на CI, так и на моем ноутбуке.

Это происходит потому, что вы собираете проект app.xcodeproj вместо рабочего пространства app.xcworkspace.

Итак, вам нужно изменить параметр в вашем вызове с -project app.xcodeproj на -workspace app.xcworkspace. Обратите внимание, что меняется не только значение, но и имя параметра.

А теперь полный пример звонка.

Из:

xcodebuild -sdk iphoneos -configuration yourconfig -project app.xcodeproj -scheme yourscheme build -UseModernBuildSystem=YES CODE_SIGN_STYLE=Automatic

К:

xcodebuild -sdk iphoneos -configuration yourconfig -workspace app.xcworkspace -scheme yourscheme build -UseModernBuildSystem=YES CODE_SIGN_STYLE=Automatic

Я просто обновляю цель развертывания до 11.4 с 10, и она сработала

Для меня:

Измените цель развертывания на 11.0, Также измените цель развертывания AppNameTEST на 11.0

rm -rf node_modules

npm install

pod update

pod install

используйте platform: ios, '10 .0 'вместо platform: ios, '11 .0' в Podfile.

Все остальное я пробовал часами, то, что работало, было установлено в моем подфиле:

platform :ios, '10.0'

То же, что и iOS Deployment Target Version в Info.plist. Они были разные.

После 3 дней своих усилий я нашел следующие решения.

  1. Убедитесь, что вам нужно открыть MyAppName.xcworkspace вместо MyAppName.xcodeproj
  2. Закройте Xcode и попробуйте деинтегрировать Pod, а затем Pod Install.
  3. Измените настройку сборки с Legacy на New build system.

Для меня вариант 3 сработал.

Я немного новичок в процессе сборки iOS, и я поделюсь своим решением, чтобы, надеюсь, избавить кого-либо от часов разочарования.

В моем случае это была просто устаревшая / плохая сборка. Убедитесь, что вы открыли правильную папку Xcode в Xcode <YOUR_APP>.xcworkspace, в верхнем меню Xcode выберите Product -> Clean Build Folder

Другие вопросы по теме