Linkowanie kilku plików.
Ostatnio zmodyfikowano 2014-12-25 09:34
Jump3r Temat założony przez niniejszego użytkownika |
Linkowanie kilku plików. » 2014-12-24 21:25:00 Tak, wiem było pełno tematów(na ten temat :P). Nie mogę ogarnąć jak to działa. Wiem tyle, że mam jakiś plik główny z f. main, plik *.h i plik z definicjami. Ale jak mam to zrobić? 1. Jak ma wyglądać plik .h (deklaracje f. to wiem,ale jakie deklaracje zmiennych?) 2. Czy plik z definicjami MUSI nazywać się identycznie jak .h? 3. co jeśli w .h mam kilka funkcji z różnych plików(2 f. z pliku I, 1 f. z pliku II[jak mam to napisać w .h?]) 4. Dlaczego występuje błąd: 2 0 C:\(...)\test\main.cpp In file included from main.cpp 1 9C:\(...)\test\1.h [Error] macro names must be identifiers
C:\(...)\test\main.cpp In function 'int main()': 7 6 C:\(...)\test\main.cpp [Error] 'fun1' was not declared in this scope 28 C:\(...)\test\Makefile.win recipe for target 'main.o' failed
Plki: main.cpp 1.h 1.cpp main: #include <iostream> #include "1.h" int main() { int i = 0; fun1(); } 1.cpp: #include <iostream>
int a, b, c;
void fun1( int a ) { std::cout << "Liczba " << a << std::endl; }
1.h: #ifndef 1_H #define 1_H
extern int a, b, c;
void fun1( int a );
#endif
|
|
1aam2am1 |
» 2014-12-24 22:41:49 w pliku 1.cpp zapomniałeś dodać include 1.h |
|
Jump3r Temat założony przez niniejszego użytkownika |
» 2014-12-25 09:34:06 OK, ale dalej nie działa. Dopiero po usunięciu kompilacji warunkowej odpala. Ma ktoś jakieś pojęcie dlaczego tak się dzieje?
EDIT: Okey, okey.
Zdałem sobie sprawę, że preprocesor nie przyjmuje nazw zaczynających się od cyferek ;P
Dzięki za pomoc. |
|
« 1 » |