Problem z plikami nagłówkowymi

0

Witam

Zacząłem zabawę z plikami nagłówkowymi. I mam problem.
Mam 3 pliki:

huffman.cpp

#include "huffman.h"
using namespace std;

void znajdz_znaki(double znak[], double ciag[], int x)
{
int k=0;
int j=0;
int pomoc=0;
znak[j] = ciag[j];
x=17;
for (int i=0; i<x; i=i+1)
{
	if (znak[j]!=ciag[i])
	{	
		if (j==0) 
		{
			j=j+1;
			znak[j] = ciag[i];
		}
		else
		{
			for (k=0;k<j+1;k++) if (znak[k]==ciag[i]) pomoc=1;
			
			if (pomoc==0)
			{
			j=j+1;
			znak[j] = ciag[i];
			pomoc =0;
			}
			else pomoc = 0;	
		}
	}
}
j=j+1;
} 

huffman.h

#ifndef huffman_h
#define huffman_h
#include <cstdlib>
#include <iostream>

void znajdz_znaki(double*, double*, int);


#endif 

main.cpp

#include <cstdlib>
#include <iostream>
#include "huffman.h"
using namespace std;

int main()
{
double ciag[100];
double znak[100];
double wagaznakow[100];
string tabelakodow[100];
string wynik[100];
string podekodowaniu[100];
int i,j,x,k,pomoc;
double temp;

ciag[0] = 0;
ciag[1] = 0;
ciag[2] = 0;
ciag[3] = 0;
ciag[4] = 0;
ciag[5] = 2.3;
ciag[6] = 3.4;
ciag[7] =2.3;
ciag[8] = 4;
ciag[9] = 5;
ciag[10] = -2;
ciag[11] = -2;
ciag[12] = -0.5;
ciag[13] = 5;
ciag[14] = 0;
ciag[15] = 0;
ciag[16] = 0;

znajdz_znaki(znak, ciag, 17);

Kompilator zwraca błąd.

/tmp/ccQgXcls.o: In function `main':
main.cpp:(.text+0x154): undefined reference to `znajdz_znaki(double*, double*, int)'
collect2: ld returned 1 exit status 

Proszę o pomoc.

0
g++ -c huffman.cpp -o huffman.o
g++ main.cpp huffman.o -o twoj_program

a jeśli piszesz w jakimś środowisku, (gdzie nie masz dostępu do Makefile, bo jest tworzony w locie) dołącz wszystkie pliki do projektu.

0

Korzystam z Geany. I kompilując klikam na zbuduj i uruchom.

Może robię coś nie tak.

Sprawdzę wszystko co napisałeś jak wrócę z pracy.

0

Geany jest dobry jak używasz jednego pliku cpp, jak masz więcej to musisz grzebać w poleceniach kompilacji - Zbuduj/Set Build Commands
On tam ma:
g++ -Wall -o "%e" "%f"
Musisz do tego dopisać huffman.cpp:
g++ -Wall -o "%e" "%f" huffman.cpp

0

ok dzieki ruszyło, Jednak teraz po odpaleniu programu wywala napis "SEGMENTATION FAIL"

0

Obstawiałbym plik huffman.cpp

0

Ok dzięki poszukam w domu już nawet znalazłem jeden błąd.

Jak znajdę napisze.

Spine - Bo ten kod działał tylko był w jednym pliku teraz go chciałem upchnąć w osobne pliczki, no i jestem w pracy wiec nie poswiecam tyle uwagi na sprawdzenie/znalezienie błędu ;) dzięki za chęci.

Btw. używam Mint 12 od 2 dni ale to nie winno być problemem. :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1