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

Prosze o pomoc - podstawy dzielenia kodu na kilka plikow.

Ostatnio zmodyfikowano 2013-11-06 15:56
Autor Wiadomość
kitsss
Temat założony przez niniejszego użytkownika
Prosze o pomoc - podstawy dzielenia kodu na kilka plikow.
» 2013-11-06 13:59:50
Kompletnie nie wiem, czemu moj program nie dziala poprawnie :(
Chce stworzyc prosta operacja, ktora bedzie miala na celu ustalenie wartosci w pliku A, dodanie do niej wartosci 5 w pliku B i ponowny powrot do pliku A i wyswietlenie tam wyniku.
 plikA.cpp
C/C++
#include <iostream>
#include <conio.h>
#include "naglowek.h"
using namespace std;
int gr = 9;
main()
{
    funkcja();
   
   
   
    return 0;
}


naglowek.h
C/C++
#ifndef naglowek_hpp
#define naglowek_hpp
extern int gr;
void funkcja();
#endif

plikB.cpp
C/C++
#include <iostream>
#include "naglowek.h"
void funkcja()
{
    gr + 5;
   
}
P-95451
pekfos
» 2013-11-06 14:07:10
C/C++
gr + 5;
To nie zmienia wartości gr.
P-95453
kitsss
Temat założony przez niniejszego użytkownika
» 2013-11-06 14:58:01
No dobrze, to zastosuje std::cout << gr + 5;
Program nadal nie chce w plikuA wyswietlic ciala funkcji z plikuB

Wyskakuje mi komunikat: plikA.cpp:(.text+0xe): undefined reference to `funkcja()' - Jesli kompiluje i uruchamiam program w plikuA
oraz
undefined reference to `WinMain'
        [Error] ld returned 1 exit status - Gdy kompiluje w plikuB

Plik naglowkowy nie ,,wyrzuca,, jakiegokolwiek bledu.
P-95458
kubawal
» 2013-11-06 15:15:27
No dobrze, to zastosuje std::cout << gr + 5;
Też nie zmieni gr

C/C++
main()
Ma być
int main()



Musisz dodać obydwa pliki do projektu, jeżeli używasz ide, a jeśli nie to musisz je zlinkować.
P-95461
kitsss
Temat założony przez niniejszego użytkownika
» 2013-11-06 15:21:37
Tez prawda, zapomnialem o klamrach, po prostu pisalem ten kod juz z tysieczny raz, bo ciagle kombinuje i nie moge uzyskac efektu. Poprawilem i rowniez nie dziala.
Korzystam z ksiazki symfonia c++, ladnie jest tam opisane jak ma wygladac kod zrodlowy takich odrebnych plikow, ale nie jest rozpisane jak np. stworzyc te katalogi w kompilatorze.
Mysle, ze w tym robie blad. Jak mam to zrobic (np. code::blocks , dev). Do tej pory po prostu zapisalem 3 oddzielne pliki w jednym folderze. Efekt zerowy.

Ps. Juz nawet nie chodzi o to, by to gr zmienic. Po prostu by byl widoczny jakikolwiek efekt wzajemnej pracy odrebnych plikow. Chce wywolac w plikuA funkcje zdefiniowana w plikuB, czyli zwykle wyswietlenie na ekranie zwiekszonego argumentu gr o 5.
P-95466
kubawal
» 2013-11-06 15:31:02
Jakie IDE?
P-95469
kitsss
Temat założony przez niniejszego użytkownika
» 2013-11-06 15:37:59
Udało mi się. Wszystko działa tak jak powinno działać. Kod źródłowy był poprawny (procz tych dwoch rzeczy, ktore zostaly poprawione).
Nie stworzylem po prostu w kompilatorze nowego projektu, a w nim dwa pliki source i jeden header. Musze poszerzyc swoja wiedze o kompilatorze, na ktorym pracuje.
Dzieki wielkie za pomoc :) Pozdrawiam.
P-95471
kubawal
» 2013-11-06 15:53:32
lub
???
Którego używasz do tego projektu?
P-95476
« 1 » 2
  Strona 1 z 2 Następna strona