[Linker Error] Unresolved external

0

witam.

w trakcie rekompilacji zrodel programu uzyskuje taki o to error:

[Linker Error] Unresolved external 'TConsoleRunner::Run(System::AnsiString, _STL::vector<_STL::basic_string<char, _STL::char_traits<char>, _STL::allocator<char> >, _STL::allocator<_STL::basic_string<char, _STL::char_traits<char>, _STL::allocator<char> > > > *, void *)' referenced from C:\DELTACOPY\MAINFORMSERVER.OBJ

podaje czesc kodu zrodlowego:

bool TfrmMainFormServer::FixPermissions(AnsiString path){
TConsoleRunner cRunner;

AnsiString cmdLine = "chmod -Rv a+rwX " + path;
vector<string> results;

cRunner.Run(cmdLine, &results, NULL);

AnsiString msg;

for(unsigned int i = 0; i < results.size(); i++){
	msg += results.at(i).data();
}

DWORD exitCode = cRunner.GetExitCode();

if(exitCode > 0){

	if(msg.Length()){
		ShowMessage(msg);
	}


	msg = cRunner.GetLastError();

	if(msg.Length()){
		ShowMessage(msg);
	}

	return false;
}

return true;

}

prosze o wskazowki na temat bledu i sposobu usuniecia go.

pozdrawiam marcin

0

Skąd masz TConsoleRunner? Brakuje ci biblioteki z tą klasą - najprawdopodobniej musisz dołączyć odpowiedni plik *.lib lub *.bpi do twojego projektu.

0
MarekR22 napisał(a)

Skąd masz TConsoleRunner? Brakuje ci biblioteki z tą klasą - najprawdopodobniej musisz dołączyć odpowiedni plik *.lib lub *.bpi do twojego projektu.

jaki pakiet/środowisko programistyczne dostarcza tej biblioteki? borland delphi?

0

to jest akurat pytanie do Ciebie, poniewaz kazdy moze sobie napisac klase ktora bedzie sie tak nazywac,a to Ty wiesz co za program kompilujesz, skad on pochodzi, w czym jest napisany itp..
google za TConsoleRunner znajduje tylko fragment projektu DelphiPi: http://code.google.com/p/delphipi/source/browse/ConsoleRunner.pas
czy to to, sam ocen - ja Delphi/Borlanda, formalnie, nie znam

0

Witam, mam podobny problem, potrzebuję do mojego programu wygenerować kod crc16 modbus, znalazłem bibioltekę która go generuje ale wyskakuje mi bład:
[Linker Error] Unresolved external 'update_crc_16(unsigned short, char)' referenced from E:\SILOWNIK\MOJPROGRAM.OBJ

A oto fragment programu:

bytesl[1] = (l>>8) & 0x00ff;
bytesl[0] = l & 0x00FF;
bytesm[1] = (m>>8) & 0x00ff;
bytesm[0] = m & 0x00FF;
bytesk[1] = (k>>8) & 0x00ff;
bytesk[0] = k & 0x00FF;

   ramka_dane[0]=0x01;
   ramka_dane[1]=0x10;
   ramka_dane[2]=0x00;
   ramka_dane[3]=0x00;
   ramka_dane[4]=0x00;
   ramka_dane[5]=0x03;
   ramka_dane[6]=0x06;
   ramka_dane[7]=bytesl[1];
   ramka_dane[8]=bytesl[0];
   ramka_dane[9]=bytesm[1];
   ramka_dane[10]=bytesm[0];
   ramka_dane[11]=bytesk[1];
   ramka_dane[12]=bytesk[0];
   for(unsigned int i = 0; i < 13; i++)
	 ramka[i] = (char)ramka_dane[i];

for ( int i = 0 ; i <= 12 ; ++i)
{
Memo1->Lines->Add(ramka_dane[i]) ;

prev_byte = 0;
crc_16_modbus = 0xffff;
ptr=ramka;

while ( *ptr )
{
crc_16_modbus = update_crc_16( crc_16_modbus, *ptr );
prev_byte = *ptr;
ptr++;
}

}
}

bibliotekę pobrałem z tej strony:
http://www.lammertbies.nl/comm/software/index.html

jescze na samej górze mam taka dlekarację
#include "lib_crc.h"

Prosze o pomoc, jestem poczatkującym w tych sprawach. Program się wykonuje po wcisnieciu przycisku, programuje w borland C++ builder 6

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