[C++]Dołączanie plików

kubek1
Użytkownik
Użytkownik
Posty: 249
Rejestracja: 15 wrz 2008, o 19:35
Płeć: Mężczyzna
Lokalizacja: Syberia
Podziękował: 15 razy
Pomógł: 32 razy

[C++]Dołączanie plików

Post autor: kubek1 »

Witam. Mam problem z takim zadaniem:
Używając dostępnego Ci kompilatora napisz, skompiluj i uruchom program, który będzie się składał z dwóch plików źródłowych *.cpp. W każdym z nich mają być po dwie funkcje - (main to też funkcja). Mają się tak wywoływać, by każda z nich pracowała choć raz. W każdym z plików mają być po 3 zmienne globalne typów: int, double, char (w sumie zatem będzie ich sześć).
Niech każda z funkcji tego programu:
-najpierw wypisze na ekranie wartość każdej z sześciu zmiennych globalnych
-zmieni wartość ich wszystkich
-ponownie wypisze na ekranie wartość każdej z sześciu zmiennych globalnych.
Posłuż się plikiem nagłówkowym *.h, w którym wystąpią potrzebne deklaracje.
Kod programu:
main.cpp:
Ukryta treść:    
drugi_plik.cpp:
Ukryta treść:    
header.h:
Ukryta treść:    
Otóż mój problem polega na tym, że gdy chcę to wszystko skompilować, kompilator zaczyna "protestować" Dlatego mam pytanie, co powinienem poprawić w tym programie, by działał, jak należy? Dzięki z góry za pomoc.
szatkus
Użytkownik
Użytkownik
Posty: 231
Rejestracja: 13 gru 2009, o 01:27
Płeć: Mężczyzna
Lokalizacja: Zbąszynek
Pomógł: 41 razy

[C++]Dołączanie plików

Post autor: szatkus »

Na początek napisać jak się objawia protest kompilatora, bo one zwykle podają komunikat błędu.
kubek1
Użytkownik
Użytkownik
Posty: 249
Rejestracja: 15 wrz 2008, o 19:35
Płeć: Mężczyzna
Lokalizacja: Syberia
Podziękował: 15 razy
Pomógł: 32 razy

[C++]Dołączanie plików

Post autor: kubek1 »

No to proszę:
1>------ Build started: Project: z36s168symfonia, Configuration: Debug Win32 ------
1>main.obj : error LNK2005: "void __cdecl fb(int,double,char,int,double,char)" (?fb@@YAXHNDHND@Z) already defined in drugi_plik.obj
1>main.obj : error LNK2005: "void __cdecl fc(int,double,char,int,double,char)" (?fc@@YAXHNDHND@Z) already defined in drugi_plik.obj
1>main.obj : error LNK2005: "int d" (?d@@3HA) already defined in drugi_plik.obj
1>main.obj : error LNK2005: "double e" (?e@@3NA) already defined in drugi_plik.obj
1>main.obj : error LNK2005: "char f" (?f@@3DA) already defined in drugi_plik.obj
1>D:cppz36s168symfoniaDebugz36s168symfonia.exe : fatal error LNK1169: one or more multiply defined symbols found
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
szatkus
Użytkownik
Użytkownik
Posty: 231
Rejestracja: 13 gru 2009, o 01:27
Płeć: Mężczyzna
Lokalizacja: Zbąszynek
Pomógł: 41 razy

[C++]Dołączanie plików

Post autor: szatkus »

A co to?

Kod: Zaznacz cały

#include "drugi_plik.cpp"
Include możesz robić tylko plików nagłówkowych.
kubek1
Użytkownik
Użytkownik
Posty: 249
Rejestracja: 15 wrz 2008, o 19:35
Płeć: Mężczyzna
Lokalizacja: Syberia
Podziękował: 15 razy
Pomógł: 32 razy

[C++]Dołączanie plików

Post autor: kubek1 »

No, rzeczywiście. Dzięki, teraz działa
ODPOWIEDZ