Problem z kompilacją...
: 24 sierpnia 2007, 07:47
Koledzy mam problemy z książkowym przykładem, może mi ktoś pomuc i wyjaśnić gdzie jest błąd ? Oto kody :
printBinary.h
printBinary.cpp
Bitwise.cpp
Podczas kompilacji wyświetla takie problemy :
printBinary.h
Kod: Zaznacz cały
void printBinary(const unsigned char val);
Kod: Zaznacz cały
#include <iostream>
void printBinary(const unsigned char val) {
for(int i=7;i>=0;i--)
if(val & (1<<i))
std::cout <<"1";
else
std::cout <<"0";
}
Kod: Zaznacz cały
#include <iostream>
#include "printBinary.h"
using namespace std;
#define PR(STR, EXPR) \
cout<< STR; printBinary(EXPR); cout<<endl;
int main() {
unsigned int getval;
unsigned char a,b;
cout << "Wprowadz liczbe z zakresu od 0 do 255: ";
cin>>getval; a=getval;
PR("a w zapisie dwojkowym: ", a);
cout << "Wprowadz liczbe z zakresu od 0 do 255: ";
cin>>getval; b=getval;
PR("b w zapisie dwojkowym: ", b);
PR("a | b = ", a | b);
PR("a & b = ", a & b);
PR("a ^ b = ", a ^ b);
PR("~a = ", ~a);
PR("~a = ", ~b);
unsigned char c = 0x5A;
PR("c w zapisie dwojkowym: ",c);
a|=c;
PR("a |= c; a= ",a);
a&=c;
PR("b &= c; b= ",b);
a^=c;
PR("b ^= a; b= ",b);
}
Kod: Zaznacz cały
/tmp/cctxJacm.o: In function `main':
Bitwise.cpp :( .text+0xab): undefined reference to `printBinary(unsigned char)'
Bitwise.cpp :( .text+0xf5): undefined reference to `printBinary(unsigned char)'
Bitwise.cpp :( .text+0x122): undefined reference to `printBinary(unsigned char)'
Bitwise.cpp :( .text+0x14f): undefined reference to `printBinary(unsigned char)'
Bitwise.cpp :( .text+0x17c): undefined reference to `printBinary(unsigned char)'
/tmp/cctxJacm.o:Bitwise.cpp :( .text+0x1a8): more undefined references to `printBinary(unsigned char)' follow
collect2: ld returned 1 exit status