Aggiornamento di OSX / Xcode - errore di collegamento

3

ALL,

Ho avviato il mio progetto su OSX 10.8 con Xcode 5.1 (l'ultimo disponibile per quell'OSX). Tutto stava funzionando e funzionava bene e lo è ancora. Il progetto consiste in un eseguibile binario e in un paio di sotto-progetti dylib.

Recentemente mi sono comprato un nuovo laptop Mac. Ho installato Xcode su di esso (versione 9), ho estratto i miei sorgenti da git hub e ho provato a ricompilarlo / eseguirlo.

Dopo aver corretto alcune emittenti di directory secondarie per la compilazione (alcuni percorsi di ricerca dell'intestazione erano errati), ho ricevuto un avviso relativo alla directory -L non trovata. Tuttavia il collegamento è riuscito.

Il tentativo di eseguire il programma ovviamente non è riuscito perché i file dylib non si trovavano nel posto in cui Xcode lo avrebbe cercato.

Guardando oltre ho cercato di vedere se ci sarebbero state differenze su dove entrambe le macchine memorizzassero i risultati della build. Ho aperto il menu "Xcode- > Proprietà progetto ...", ma ho scoperto che quelle impostazioni sono le stesse su entrambi i laptop.

Successivamente ho controllato "Fie- > Proprietà del progetto ..." su entrambe le macchine, ma anche quelle 2 sono risultate uguali.

Ora sono in perdita - dove altro dovrei cercare? Il vecchio portatile crea tutto senza avvisi e il programma viene eseguito con successo.

Sul vecchio laptop i sottoprogetti sono memorizzati in ~ /// build / Debug.

Sul nuovo laptop la cartella ~ /// build non esiste.

Ora posso creare manualmente la directory e copiare i file, ma il programma è ancora in fase di sviluppo e il codice sta cambiando.

Qualsiasi suggerimento sarebbe apprezzato.

TIA!

P.S .: scusa per il post lungo.

    
posta Igor 30.11.2018 - 21:00
fonte

1 risposta

0

Soluzione in un modo alquanto insolito:

a) Reclami " Tuttavia il collegamento ha avuto esito positivo. ", quindi nel riquadro delle proprietà del progetto vai alla cartella Prodotti, quindi fai clic sul nome del prodotto. Nel riquadro di destra, in Identità e tipo , troverai il nome del prodotto e la posizione completa del percorso. Per uno dei miei progetti ora posso scoprire:

~/Library/Developer/Xcode/DerivedData/prodname fnihcmsxnrxlstcumyviklyuofum/Build/Products/Debug/prodname

e un attributo di posizione: Relative to Build Products - la cartella di creazione è stata creata da Xcode, puoi trovare "Build" anche in Proprietà del progetto - > Impostazioni di creazione - > Crea località . (puoi modificare anche in base alle tue esigenze ...)

b) Ora per la tua libreria mancante: anche in Impostazioni build - > Collegando hai la possibilità di aggiungere la tua libreria in Librerie di prelink , fai semplicemente clic sulla parte sinistra di questo elemento, due righe aperte di seguito, Debug / Release , fai clic su una riga e appare un piccolo + e aggiungi la tua libreria lì.

EDIT: aggiunta di alcune immagini, come richiesto:

Selezione del prodotto:

Faiclicsulnomedelprodotto(rettangolosull'immagine)eilpercorsocompletositrovanelpannellodidestracomeinquestaimmagine:

Ora,nellaprimaimmagine:fareclicsull'iconadelnomedell'applicazione,siaprirannoleinformazionidicostruzione.Ipercorsidicostruzionedevonoesseretrovaticomemostratoqui:

Escorrendoulteriormenteversoilbasso,leopzionidicollegamentocomeindicatoqui:

    
risposta data 01.12.2018 - 18:01
fonte

Leggi altre domande sui tag