Falha de compilação do Xcode "Símbolos indefinidos para arquitetura x86_64"

Sol Nascente

Uma pergunta para iniciantes no Xcode:

É minha primeira experiência com o Xcode 4.6.3.

Estou tentando escrever um programa de console muito simples, que procura dispositivos BT emparelhados e os imprime em um NSLog.

Ele é compilado com o seguinte erro:

Undefined symbols for architecture x86_64:
  "_OBJC_CLASS_$_IOBluetoothDevice", referenced from:
      objc-class-ref in main.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Eu procurei como um louco. O problema comum deve ser uma referência a um arquivo, do qual apenas os arquivos de cabeçalho são importados e nenhuma implementação (arquivo * .m) é encontrada pelo vinculador. A biblioteca IOBluetooth é, no entanto, um Framework padrão como o Foundation Framework.

O que estou perdendo na minha declaração acima?

Também tentei construí-lo para uma máquina de 32 bits (a construção falha novamente). É claramente um erro do vinculador, no entanto, não tenho ideia do que ele se refere, exceto que há um problema em encontrar a implementação para IOBluetoothDevice, na arquitetura x86 e x64, enquanto os arquivos de cabeçalho são de um Framework incluído padrão, chamado IOBluetooth?

Para sua informação, meu código principal "main.m" é:

#import <Foundation/Foundation.h>
#import <IOBluetooth/objc/IOBluetoothDevice.h>          // Note the import for bluetooth
#import <IOBluetooth/objc/IOBluetoothDeviceInquiry.h>   // Note the import for bluetooth


int main(int argc, const char * argv[])
{
    @autoreleasepool {
        IOBluetoothDevice *currentDevice;
        NSArray *devices = [ IOBluetoothDevice pairedDevices];


        for (id currentDevice in devices){
          NSLog(@"%i : %@",[ currentDevice classOfDevice ], [ currentDevice name ]);    
        }
    }
    return 0;
}

Obrigado por qualquer ajuda ou indicações para a direção certa.

Chris Livdahl

Parece que está faltando incluir o IOBluetooth.framework em seu projeto. Você pode adicioná-lo por:

-Clique em seu projeto no canto superior esquerdo do painel esquerdo (o ícone azul).

-No painel do meio, clique na guia Build Phases.

- Em "Link Binary With Libraries", clique no botão de adição.

-Encontre o IOBluetooth.framework na lista e clique em Adicionar.

insira a descrição da imagem aqui

insira a descrição da imagem aqui

Isso garantirá que as definições IOBluetooth.framework sejam encontradas pelo vinculador. Você pode ver que a estrutura é um membro de seu destino clicando na estrutura no painel esquerdo e vendo a associação de destino da estrutura no painel direito (observe que movi a estrutura no grupo Frameworks para fins de organização):

insira a descrição da imagem aqui

Este artigo é coletado da Internet.

Se houver alguma infração, entre em [email protected] Delete.

editar em
0

deixe-me dizer algumas palavras

0comentários
loginDepois de participar da revisão

Artigos relacionados

A compilação do xCode Cocoapods falha "Símbolos indefinidos para a arquitetura x86_64"

A compilação do teste de unidade Xcode falhou com o erro "Símbolos indefinidos para a arquitetura x86_64"

Símbolos indefinidos para arquitetura x86_64 durante a implementação de mensagens do firebase no módulo Libgdx ios

Erro de compilação / vinculação: símbolos indefinidos para arquitetura x86_64

vscode g ++ Falha de link: símbolos indefinidos para arquitetura x86_64

xcode Símbolos indefinidos para arquitetura x86_64: "_err_quit", referenciado de:

FBSDKLoginManager: símbolos indefinidos para arquitetura x86_64 + comando do linker falhou com o código de saída 1

Reagir a construção nativa do iOS falhou no envio de código por: Símbolos indefinidos para a arquitetura x86_64:

Símbolos indefinidos para arquitetura x86_64 e comando do linker falharam com o código de saída 1

Símbolos indefinidos para arquitetura x86_64: erro de ligação?

gcc 4.7.4 Problema de vinculação: Símbolos indefinidos para arquitetura x86_64

Erro de compilação da visualização da tela SwiftUI: símbolos indefinidos para arquitetura x86_64

Símbolos indefinidos para arquitetura x86_64: ao fazer uma chamada para uma função C ++ no Xcode 8

Erro do Crashlytics "Símbolos indefinidos para a arquitetura x86_64" durante a instalação do pod

Não foi possível encontrar a fonte do erro: 'Símbolos indefinidos para a arquitetura x86_64' Makefile

Erro do vinculador Apple Mach-O - símbolos indefinidos para arquitetura x86_64: "_UISceneWillEnterForegroundNotification" e "___isPlatformVersionAtLeast"

“Símbolos indefinidos para arquitetura x86_64” Xcode

“Símbolos indefinidos para arquitetura x86_64” Xcode

Exemplo mínimo com GLFW falha devido a símbolos indefinidos para arquitetura x86_64

Símbolos indefinidos para arquitetura x86_64 no Xcode 6.3

Símbolos indefinidos para arquitetura x86_64: xcode 9 Swift 4

Erro do vinculador: "Símbolos indefinidos para arquitetura x86_64"

O teste Swift dá o erro "Símbolos indefinidos para arquitetura x86_64"

Símbolos indefinidos para arquitetura x86_64: e não consigo encontrar o motivo

Swift Package Manager "Símbolos indefinidos para arquitetura x86_64" da linha de comando

Símbolos indefinidos para arquitetura x86_64: "_OBJC_CLASS _ $ _ HandBluetooth", referenciado de:

Erro: símbolos indefinidos para arquitetura x86_64: .... problema de vinculador

Símbolos indefinidos para a arquitetura x86_64: "vtkDebugLeaksManager :: vtkDebugLeaksManager ()", referenciado de:

Problema para estrutura de compra no aplicativo (símbolos indefinidos para arquitetura x86_64)

TOP lista

  1. 1

    R Shiny: use HTML em funções (como textInput, checkboxGroupInput)

  2. 2

    UITextView não está exibindo texto longo

  3. 3

    Dependência circular de diálogo personalizado

  4. 4

    Acessando relatório de campanhas na AdMob usando a API do Adsense

  5. 5

    Como assinar digitalmente um documento PDF com assinatura e texto visíveis usando Java

  6. 6

    R Folheto. Dados de pontos de grupo em células para resumir muitos pontos de dados

  7. 7

    Setas rotuladas horizontais apontando para uma linha vertical

  8. 8

    O Chromium e o Firefox exibem as cores de maneira diferente e não sei qual deles está fazendo certo

  9. 9

    Definir um clipe em uma trama nascida no mar

  10. 10

    Por que meus intervalos de confiança de 95% da minha regressão multivariada estão sendo plotados como uma linha de loess?

  11. 11

    Como dinamizar um Dataframe do pandas em Python?

  12. 12

    regex para destacar novos caracteres de linha no início e no fim

  13. 13

    Why isn't my C# .Net Core Rest API route finding my method?

  14. 14

    Como obter a entrada de trás de diálogo em treeview pyqt5 python 3

  15. 15

    Tabela CSS: barra de rolagem para a primeira coluna e largura automática para a coluna restante

  16. 16

    How to create dynamic navigation menu select from database using Codeigniter?

  17. 17

    Como recuperar parâmetros de entrada usando C #?

  18. 18

    Changing long, lat values of Polygon coordinates in python

  19. 19

    Livros sobre criptografia do muito básico ao muito avançado

  20. 20

    Método \ "POST \" não permitido no framework Django rest com ações extras & ModelViewset

  21. 21

    Pesquisa classificada, conte números abaixo do valor desejado

quentelabel

Arquivo