Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - [Atmel Studio]Utilizzo librerie
Forum - C/C++ - [Atmel Studio]Utilizzo librerie

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
Roby94 (Member)
Guru


Messaggi: 1170
Iscritto: 28/12/2009

Segnala al moderatore
Postato alle 15:25
Venerdì, 12/09/2014
Salve, utilizzando spesso Atmel studio mi sono trovato al punto che penso sia meglio passare ad un sistema a librerie per i miei microcontrollori.
Create le mie librerie pero non riesco ad usarle.
Primo le librerie vengono compilate in un file con estensione .a sinceramente non avendo mai scritto una libreria in c++ su altro compilatore non so se questa estensione sia legata al C/C++ o ad Atmel Studio. Sta il fatto che se includo il file .a all'interno del progetto dove ho bisogno della libreria non riesco comunque ad accedervi con
#include
ne con i doppi apici ne con le parentesi <>
Potete illuminarmi su dove sia il problema? Se avete bisogno di altre informazioni non esitate a chiedere.

Grazie

PM Quote
Avatar
TheDarkJuster (Member)
Guru^2


Messaggi: 1620
Iscritto: 27/09/2013

Segnala al moderatore
Postato alle 15:33
Venerdì, 12/09/2014
Io al momento non ho atmel studio installato su questo pc, ma ho lavorato molto con gli avr e ti posso dire questo: le librerie sono librerie statiche con estensione .a che vengono collegate all'eseguibile dal linker. Ma per poter accedere a queste librerie sono necessari gli headers con i prototipi di funzione che ti interessano. Se usi l' ultima versione di atmel studio trovi tutto sulle impostazioni progetto e funziona circa come con visual studio, visto che in effetti atmel studio usa la base di visual studio 2010.

PM Quote
Avatar
Roby94 (Member)
Guru


Messaggi: 1170
Iscritto: 28/12/2009

Segnala al moderatore
Postato alle 15:55
Venerdì, 12/09/2014
Ho messo il file header contenente prototipi e il fil cpp contenente le funzioni all'interno del progetto della libreria statica, compilo e includo il file .a dal file manager del progetto a questo punto cerco di includere l'header ma esso non viene trovato.

PM Quote
Avatar
TheDarkJuster (Member)
Guru^2


Messaggi: 1620
Iscritto: 27/09/2013

Segnala al moderatore
Postato alle 17:00
Venerdì, 12/09/2014
non devi includerlo con il file manager. Rileggi la mia risposta.

PM Quote
Avatar
Roby94 (Member)
Guru


Messaggi: 1170
Iscritto: 28/12/2009

Segnala al moderatore
Postato alle 18:53
Venerdì, 12/09/2014
Per file manager intendo solution explorer che gia predispone per il progetto una pseudo cartella nell'albero di visualizzazione chiamata "Libraries" che al click destro mostra un menu contestuale con il pulsante "Add libraries..". Una volta aggiunta la libreria riesco a visualizzarla anche da proprietà progetto all'interno dell'impostazione Libraries ma come dicevo in precedenza non capisco poi come utilizzarla.

PM Quote
Avatar
TheDarkJuster (Member)
Guru^2


Messaggi: 1620
Iscritto: 27/09/2013

Segnala al moderatore
Postato alle 20:05
Venerdì, 12/09/2014
Ah ok, ho capito, devi aggiungere i riferimenti agli headers, ovvero devi informare il compilatore della posizione della cartella con gli headers. Questo su atmel studio 6 per quel che mi ricordo si faceva sulle opzioni progetto

PM Quote
Avatar
Roby94 (Member)
Guru


Messaggi: 1170
Iscritto: 28/12/2009

Segnala al moderatore
Postato alle 13:28
Sabato, 13/09/2014
ok ho linkato la posizione degli header, ma ora... non capisco bene cosa serva il file .a se ci sono gia i file .h e .cpp
Nel senso, se voglio distribuirla devo passare l'header file, il file .a e il file .cpp o quest'ultimo posso non includerlo?

PM Quote
Avatar
TheDarkJuster (Member)
Guru^2


Messaggi: 1620
Iscritto: 27/09/2013

Segnala al moderatore
Postato alle 13:45
Sabato, 13/09/2014
Non devi includere i file .cpp, il file .a sono i tuoi file sorgenti già compilati.

PM Quote
Avatar
Roby94 (Member)
Guru


Messaggi: 1170
Iscritto: 28/12/2009

Segnala al moderatore
Postato alle 17:59
Sabato, 13/09/2014
Ok allora avevo capito correttamente, perfetto, grazie mille :)

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo