Witam.
Przejdę od razu do rzeczy, korzystam C++ Buildera i chciałbym wykorzystywać własne pliki nagłówkowe. W CodeBlock idzie to gładko ale w builderze nie bardzo.
Unit1:
//---------------------------------------------------------------------------
#include <vcl.h>
#include "qq/qqutils.h"
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "SHDocVw_OCX"
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
try
{
Memo1->Lines->Add(HttpPost(IdHTTP1, "google.com", "key=value"));
}
catch(Exception &e)
{
Memo1->Lines->Strings[1] = e.Message;
}
}
//---------------------------------------------------------------------------
qqutils.h:
#include <vcl.h>
#include <IdHTTP.hpp>
String HttpPost(TIdHTTP *idhttp, AnsiString url, AnsiString postdata);
qqutils.cpp
String HttpPost(TIdHTTP *idhttp, AnsiString url, AnsiString postdata)
{
TStringStream *pst = new TStringStream(postdata);
TStringStream *rece = new TStringStream(NULL);
idhttp->Request->ContentType="application/x-www-form-urlencoded";
idhttp->Post(url, pst, rece);
String wynik = rece->DataString;
delete pst;
delete rece;
return wynik;
}
Przy próbie kompilacji, kompilator wyrzuca mi:
[Linker Error] Unresolved external 'HttpPost(Idhttp::TIdHTTP *, System::AnsiString, System::AnsiString)' referenced from H:\USERS\SEBA\DESKTOP\HTTP\UNIT1.OBJ
Co robię źle?