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

Dzielenie kodu na kilka plików źródłowych. undefined reference to ...

Ostatnio zmodyfikowano 2015-08-14 15:52
Autor Wiadomość
ShadowC
Temat założony przez niniejszego użytkownika
Dzielenie kodu na kilka plików źródłowych. undefined reference to ...
» 2015-08-14 15:36:25
Witam
Pomimo wykonania zadania poprawnych naglowkow do plikow zrodlowych kompilator wyswietla blad undefined reference to 'dodajLiczby(int , int)'. Problem wystepjue z obojetnie jakim plikiem. Nie wiem czy powinienem dodac cos aby plik się poprawnie skompilował oraz zlinkował. Ponizej umieszczam plik z tej strony przykład(a tutaj link http://cpp0x.pl/kursy/Kurs-C++/Dzielenie-kodu-na-kilka-plikow-zrodlowych/310

//Plik: main.cpp
#include <iostream>
#include <conio.h>
#include "nazwaPliku.h"
using namespace std;
int main()
{
    cout << "Wynik dodawania to: " << dodajLiczby( 10, 15 ) << endl;
    getch();
    return( 0 );
}
//*********************************************
Plik: nazwaPliku.h
#ifndef nazwaPliku_h
#define nazwaPliku_h

int dodajLiczby( int a, int b );

#endif

//**************************************************8

Plik: nazwaPliku.cpp
#include "nazwaPliku.hpp"

int dodajLiczby( int a, int b )
{
    return( a + b );
}
P-136243
maciek50322
» 2015-08-14 15:43:02
w nazwapliku.cpp chyba powinno być

int nazwaPliku::dodajliczby(int a, int b)
P-136249
C-Objective
» 2015-08-14 15:50:44
1. znaczniki cpp.
2. Nie. To nie klasa.
3. Pliki muszą być w projekcie
4. Słyszałeś o czymś co nazywa się "pragma once"? W sumie to nie wynalazek MS, tylko Borlandu.
5. Kod trochę rozlazły. Zamiast getch() można użyć pętli ale bardzo obciąża procesor. Pamiętaj!
C/C++
//Plik: main.cpp
#include <stdio.h>
#include "nazwaPliku.h"
using namespace std;
int main()
{
    printf( "Wynik: %d", dodajLiczby( 10, 15 );
    for(;; ); //Zatrzyma sie. Zamykaj "X".
   
    return( 0 );
}
Plik: nazwaPliku.h
C/C++
#pragma once
int dodajLiczby( int a, int b );
Plik: nazwaPliku.cpp
C/C++
#include "nazwaPliku.hpp"
int dodajLiczby( int a, int b ) {
    return a + b;
}
P-136251
carlosmay
» 2015-08-14 15:52:19
#include "nazwaPliku.h"
 tak masz w main()
#include "nazwaPliku.hpp"
 tak masz w nazwaPliku.cpp. Tworzysz *.h a dodajesz *.hpp.
P-136252
« 1 »
  Strona 1 z 1