Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Linkowanie kilku plików.

Ostatnio zmodyfikowano 2014-12-25 09:34
Autor Wiadomość
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:
C/C++
#include <iostream>
#include "1.h"
int main()
{
    int i = 0;
   
    fun1();
}


1.cpp:
C/C++
#include <iostream>

int a, b, c;


void fun1( int a )
{
    std::cout << "Liczba " << a << std::endl;
}

1.h:

C/C++
#ifndef 1_H
#define 1_H

extern int a, b, c;

void fun1( int a );

#endif
P-123307
1aam2am1
» 2014-12-24 22:41:49
w pliku 1.cpp zapomniałeś dodać include 1.h
P-123309
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.
P-123311
« 1 »
  Strona 1 z 1