Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 28 kwi 2024, o 17:43


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 
Autor Wiadomość
PostNapisane: 4 sty 2014, o 19:47 
Offline
Użytkownik

Dołączył(a): 02 lut 2013
Posty: 75
Pomógł: 0

Piszę bibliotekę i mam problem z kompilacją warunkową, w pliku nagłówkowym mam np.:

#define USE_ST7565_CHAR 1
#define USE_ST7565_STRING 1

w pliku biblioteki mam:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


w main jest użycie funkcji st7565_write_string_8x16, podczas kompilacji mam:
Kod:
avr-gcc -Wl,-Map,LCD_ST7565.map -mmcu=atmega32 -o"LCD_ST7565.elf"  ./main.o  ./ST7565/ST7565.o   
./main.o: In function `main':
main.c:(.text+0x38): undefined reference to `st7565_write_string_8x16'
make: *** [LCD_ST7565.elf] Error 1


czyli funkcja st7565_write_string_8x16 nie jest kompilowana :(
Korzystam z takiej konstrukcji ponieważ funkcja st7565_write_string_8x16 ma być kompilowana tylko wtedy, gdy USE_ST7565_CHAR = 1 i USE_ST7565_STRING = 1. W przypadku kiedy USE_ST7565_CHAR = 0 funkcja st7565_write_string_8x16 ma nie zostać skompiklowana.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 sty 2014, o 20:29 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

To to skoro wiesz co ma być to dlaczego masz:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

który to warunek jest spełniony gdy USE_ST7565_CHAR = 0 i USE_ST7565_STRING = 1
Zastąp to:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Autor postu otrzymał pochwałę

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 sty 2014, o 20:41 
Offline
Użytkownik

Dołączył(a): 02 lut 2013
Posty: 75
Pomógł: 0

Dziękuję, nie wiedziałem że w dyrektywach można używać iloczyn logiczny.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 2 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO