Rozwiązywanie błędu linkera 104 w RIDE przy projektach z wieloma plikami

RIDE i skladanie projektu z wielu plikow





Poprzedni Następny
Wiadomość
Spis treści
From: KrzychK2 <krzysztof.kardas_at_nospam_wp.pl>
Subject: RIDE i skladanie projektu z wielu plikow
Date: Thu, 30 Mar 2006 21:32:07 +0200


Witam

Natrafilem na problem z ride. W miare jak projekt sie troszeczke
rozrosl chcialem potworzyc sobie biblioteki do poszczegolnych rzeczy.
No i natrafilem na problem - mianowicie - program sie bardzo ladnie
kompiluje ale linker sie wyklada. Melduje blad nr. 104 czyli
wielokrotna definicja. Zastosowalem w plikach dyrektyfy #ifndef
#define #endif i niestety nie pomoglo :(. W tym momencie troszeczke
utknalem - czy ktos bylby w stanie pomoc??
--
Pozdro
KrzychK2

Ham-radio call sign : sq7iqz
ICQ:53263009 Gadu-Gadu:2471254

"Prawdziwy programista wiesza sie razem ze swoim programem
Wiec na drzewach zamiast lisci wisiec beda programisci"

Poprzedni Następny
Wiadomość
Spis treści
From: Zbych <abuse_at_nospam_onet.pl>
Subject: Re: RIDE i skladanie projektu z wielu plikow
Date: Thu, 30 Mar 2006 23:02:42 +0200


KrzychK2 przemówił ludzkim głosem:

#define #endif i niestety nie pomoglo :(. W tym momencie troszeczke
utknalem - czy ktos bylby w stanie pomoc??

Bez kodu źródłowego i treści komunikatu to sobie można co najwyżej
powróżyć z fusów. Strzelam w ciemno, że wstawiłeś do plików nagłówkowych
definicje zmiennych (a możesz co najwyżej wstawić tam deklaracje) i
więcej niż raz je zainkludowałeś.


Poprzedni Następny
Wiadomość
Spis treści
From: KrzychK2 <krzysztof.kardas_at_nospam_wp.pl>
Subject: Re: RIDE i skladanie projektu z wielu plikow
Date: Fri, 31 Mar 2006 09:04:12 +0200


On Thu, 30 Mar 2006 23:02:42 +0200, Zbych <abuse_at_nospam_onet.pl> wrote:

KrzychK2 przemówił ludzkim głosem:

#define #endif i niestety nie pomoglo :(. W tym momencie troszeczke
utknalem - czy ktos bylby w stanie pomoc??

Bez kodu źródłowego i treści komunikatu to sobie można co najwyżej
powróżyć z fusów. Strzelam w ciemno, że wstawiłeś do plików nagłówkowych
definicje zmiennych (a możesz co najwyżej wstawić tam deklaracje) i
więcej niż raz je zainkludowałeś.

Dlatego chcialem z kims zlapac kontakt na priv aby podeslac to z czym
mam problem i znalesc jakies rozwiazanie.
--
Pozdro
KrzychK2

Ham-radio call sign : sq7iqz
ICQ:53263009 Gadu-Gadu:2471254

"Prawdziwy programista wiesza sie razem ze swoim programem
Wiec na drzewach zamiast lisci wisiec beda programisci"

Poprzedni Następny
Wiadomość
Spis treści
From: "Pawel Cern" <name_at_nospam_surname.pl>
Subject: Re: RIDE i skladanie projektu z wielu plikow
Date: Fri, 31 Mar 2006 13:09:26 +0200



Natrafilem na problem z ride. W miare jak projekt sie troszeczke
rozrosl chcialem potworzyc sobie biblioteki do poszczegolnych rzeczy.
No i natrafilem na problem - mianowicie - program sie bardzo ladnie
kompiluje ale linker sie wyklada. Melduje blad nr. 104 czyli
wielokrotna definicja. Zastosowalem w plikach dyrektyfy #ifndef
#define #endif i niestety nie pomoglo :(. W tym momencie troszeczke
utknalem - czy ktos bylby w stanie pomoc??
--

Bycmoze uzywasz dwóch bibliotek (skompilowanych) w których sa dwa
pola/funkcje o takiej samej nazwie. Dobrze jest w kodzie modulu oznaczyc
wszystkie pola/funkcje prywatne slowem kluczowym static. Wtedy ich nazwy nie
beda eksportowane.

Pawel



Poprzedni Następny
Wiadomość
Spis treści
From: KrzychK2 <krzysztof.kardas_at_nospam_wp.pl>
Subject: Re: RIDE i skladanie projektu z wielu plikow
Date: Sat, 01 Apr 2006 08:56:27 +0200


On Fri, 31 Mar 2006 13:09:26 +0200, "Pawel Cern" <name_at_nospam_surname.pl>
wrote:


Natrafilem na problem z ride. W miare jak projekt sie troszeczke
rozrosl chcialem potworzyc sobie biblioteki do poszczegolnych rzeczy.
No i natrafilem na problem - mianowicie - program sie bardzo ladnie
kompiluje ale linker sie wyklada. Melduje blad nr. 104 czyli
wielokrotna definicja. Zastosowalem w plikach dyrektyfy #ifndef
#define #endif i niestety nie pomoglo :(. W tym momencie troszeczke
utknalem - czy ktos bylby w stanie pomoc??
--
>
>Bycmoze uzywasz dwóch bibliotek (skompilowanych) w których sa dwa
>pola/funkcje o takiej samej nazwie. Dobrze jest w kodzie modulu oznaczyc
>wszystkie pola/funkcje prywatne slowem kluczowym static. Wtedy ich nazwy nie
>beda eksportowane.
>
>Pawel
>
Troche pokombinowalem i udalo sie mnie uzyskac poprawna kompilacje
oraz linkowanie. Po wszystkich bojach jedyne czego nie bardzo moge
przeskoczyc to wrzucenie do biblioteki predefiniowanej tablicy znakow
specjalnych dla wyswietlacza LCD. Chcialem to miec w bibliotece, ale
wtedy linker sie burzy. No coz - nie zawsze bede z tego korzystac wiec
trzeba pamietac aby znalazlo sie to w pliku glownym.
--
Pozdro
KrzychK2

Ham-radio call sign : sq7iqz
ICQ:53263009 Gadu-Gadu:2471254

"Prawdziwy programista wiesza sie razem ze swoim programem
Wiec na drzewach zamiast lisci wisiec beda programisci"

Poprzedni Następny
Wiadomość
Spis treści
From: "Paweł Cern" <name_at_nospam_surname.pl>
Subject: Re: RIDE i skladanie projektu z wielu plikow
Date: Sat, 1 Apr 2006 18:41:52 +0200


Troche pokombinowalem i udalo sie mnie uzyskac poprawna kompilacje
oraz linkowanie. Po wszystkich bojach jedyne czego nie bardzo moge
przeskoczyc to wrzucenie do biblioteki predefiniowanej tablicy znakow
specjalnych dla wyswietlacza LCD. Chcialem to miec w bibliotece, ale
wtedy linker sie burzy. No coz - nie zawsze bede z tego korzystac wiec
trzeba pamietac aby znalazlo sie to w pliku glownym.

Podejrzewam że masz tą tablicę w pliku nagłówkowym ".h". W takiej sytuacji
każdy moduł używający tej tablicy będzie ją miał w sobie i linker będzie się
wywalał. Spróbuj wrzucić ją do pliku ".c" i odnośnik (extern) w pliku ".h".
Powinno pójść.