Ĺadny brzuch
Heyka!
Mam taki oto problem z linkerem.
Odpalam mojego Buildera, umieszczam jednego buttona, uzupełniam jego zdarzenie onclick tym kodem:
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
AnsiString Dir;
if (SelectDirectory("Wybierz folder", "", Dir))
ShowMessage(Dir);
}
//---------------------------------------------------------------------------
i na koniec dodaję bibliotekę FileCtrl.hpp, aby móc korzystać z funkcji ?SelectDirectory?. Załóżmy teraz, że chcę się podzielić tym programem z kumplem (ciekawe tylko po co? ;) ) więc go kompiluję, ale przedtem w menu Projects|Options na zakładce ?Linker? odznaczam opcję ?Use dynamic RTL?, następnie przechodzę do zakładki ?Packages? i odznaczam opcję ?Build with runtime packages?. Teraz ?walę? w OK i F9. I tu jest ten ?klops?. Za każdym razem BCB wy?wietla mi komunikacik tej tre?ci:
?[Linker Error] Unresolved external '__fastcall Filectrl::SelectDirectory(const System::AnsiString, const System::WideString, System::AnsiString&)' referenced from E:PROGRAM FILESBORLANDCBUILDER5PROJECTSĆWICZENIAPROBLEMCUNIT1.OBJ?
Oczywi?cie taki programik nie ma żadnego praktycznego zastosowania, ale co zrobić gdy w jakim? dużym projekcie wykorzystam funkcję ?SelectDirectory?, a nie będę mógł go skompilować? Jak postÂpić, aby skompilować tego typu kod z ww. opcjami?
Dodam, że posiadam BCB w wersji 5.0.
sciepek
menu project -> add to project i dodaj sobie plik FileCtrl.pas [powinien byc w katalog cbuilder/source/vcl/]
pozdrawiam
pepsi^no1
A może wystarczy dać rebuild all (linker próbuje dodac plik obj z poprzedniej kompilacji przed zmaiana opcji)?
PS w KĄE był BCB6 ...
"Software is like sex - it's better when it's free." Linus Torvalds | http://hno.freeshell.org/ |
cytat:pepsi napisał:
menu project -> add to project i dodaj sobie plik FileCtrl.pas [powinien byc w katalog cbuilder/source/vcl/]
pozdrawiam
pepsi^no1
Po dodaniu tego pliku "wyskakują" inne errory.
sciepek
cytat:CJ_HNO napisał:
A może wystarczy dać rebuild all (linker próbuje dodac plik obj z poprzedniej kompilacji przed zmaiana opcji)?
PS w KĄE był BCB6 ...
"Software is like sex - it's better when it's free." Linus Torvalds | http://hno.freeshell.org/ |
:( Oj, nie wystarczy... Nadal to samo
sciepek
No moze jednak by ktos pomogl. Mam taki sam program :((
pliku FileCtrl.pas niestety nie znalazłem na dysku :(( (BCB 6)
No moze jednak by ktos pomogl. Mam taki sam program :((
pliku FileCtrl.pas niestety nie znalazłem na dysku :(( (BCB 6)
jesli nie pomaga dodanie FileCtrl.pas albo go nie ma to mozna probowac dodac do projektu biblioteke vclx.lib z librelease. u mnie nie wystepuje wasz problem wiec ciezko mi cos powiedziec wiecej.
najlepiej sciagnac najnowszy [4 chyba] zestaw poprawek ze strony borlanda do cpp buildera.
pozdrawiam
pepsi^no1
Jeśli chodzi o łatki do mojego BCB5 to wszystko jest OK, więc nie bawiłem się w to. Co do biblioteki vclx.lib (vclx50.lib) to ten pomysł okazał się strzałem w dziesiątkę! Teraz linker nie protestuje i wszystko jest tak jak być powinno. THX za pomoc.
sciepek
Pomocy. Dopiero się uczę programować. Zacząłem od C++, zainstaowałem sobie Borlanda 6 z plytki Eksperta i zaczynam pracę. Mój problem polega na tym, że jeśli piszę nawet najprostszy program
#include <iostream.h> int main() { cout << "bla bla bla"; }
to zawsze wyskakuje mi
[Linker error] unresolved external '_Form1' referenced from C:BorlandCBuilder6Projectsproject1.OBJ
[Linker error] unresolved external '_TForm1::' referenced from C:BorlandCBuilder6Projectsproject1.OBJ
mimo, że to nie tam zapisuje pliki z programem.
Nie zmienim żadnych opcji w programie (bo nie wiem co z czym się je :))Proszę pomóżcie.
w borlandzie cpp builder dajesz file -> new -> other
na zakladce new wybierasz console wizard:
wybierasz sobie c++ oraz zaznaczasz console aplication dajesz oki i dopiero wrzucasz swoj kod, ktory btw powinien wygladac tak:
#include <iostream>
using namespace std;
int main()
{
cout << "bla bla bla";
return 0;
}
pozdrawiam
pepsi^no1
uff, dziła:D, wielkie dzięki pepsi:)
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
Mam taki oto problem z linkerem.
Odpalam mojego Buildera, umieszczam jednego buttona, uzupełniam jego zdarzenie onclick tym kodem:
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
AnsiString Dir;
if (SelectDirectory("Wybierz folder", "", Dir))
ShowMessage(Dir);
}
//---------------------------------------------------------------------------
i na koniec dodaję bibliotekę FileCtrl.hpp, aby móc korzystać z funkcji ?SelectDirectory?. Załóżmy teraz, że chcę się podzielić tym programem z kumplem (ciekawe tylko po co? ;) ) więc go kompiluję, ale przedtem w menu Projects|Options na zakładce ?Linker? odznaczam opcję ?Use dynamic RTL?, następnie przechodzę do zakładki ?Packages? i odznaczam opcję ?Build with runtime packages?. Teraz ?walę? w OK i F9. I tu jest ten ?klops?. Za każdym razem BCB wy?wietla mi komunikacik tej tre?ci:
?[Linker Error] Unresolved external '__fastcall Filectrl::SelectDirectory(const System::AnsiString, const System::WideString, System::AnsiString&)' referenced from E:PROGRAM FILESBORLANDCBUILDER5PROJECTSĆWICZENIAPROBLEMCUNIT1.OBJ?
Oczywi?cie taki programik nie ma żadnego praktycznego zastosowania, ale co zrobić gdy w jakim? dużym projekcie wykorzystam funkcję ?SelectDirectory?, a nie będę mógł go skompilować? Jak postÂpić, aby skompilować tego typu kod z ww. opcjami?
Dodam, że posiadam BCB w wersji 5.0.
sciepek
menu project -> add to project i dodaj sobie plik FileCtrl.pas [powinien byc w katalog cbuilder/source/vcl/]
pozdrawiam
pepsi^no1
A może wystarczy dać rebuild all (linker próbuje dodac plik obj z poprzedniej kompilacji przed zmaiana opcji)?
PS w KĄE był BCB6 ...
"Software is like sex - it's better when it's free." Linus Torvalds | http://hno.freeshell.org/ |
cytat:pepsi napisał:
menu project -> add to project i dodaj sobie plik FileCtrl.pas [powinien byc w katalog cbuilder/source/vcl/]
pozdrawiam
pepsi^no1
Po dodaniu tego pliku "wyskakują" inne errory.
sciepek
cytat:CJ_HNO napisał:
A może wystarczy dać rebuild all (linker próbuje dodac plik obj z poprzedniej kompilacji przed zmaiana opcji)?
PS w KĄE był BCB6 ...
"Software is like sex - it's better when it's free." Linus Torvalds | http://hno.freeshell.org/ |
:( Oj, nie wystarczy... Nadal to samo
sciepek
No moze jednak by ktos pomogl. Mam taki sam program :((
pliku FileCtrl.pas niestety nie znalazłem na dysku :(( (BCB 6)
No moze jednak by ktos pomogl. Mam taki sam program :((
pliku FileCtrl.pas niestety nie znalazłem na dysku :(( (BCB 6)
jesli nie pomaga dodanie FileCtrl.pas albo go nie ma to mozna probowac dodac do projektu biblioteke vclx.lib z librelease. u mnie nie wystepuje wasz problem wiec ciezko mi cos powiedziec wiecej.
najlepiej sciagnac najnowszy [4 chyba] zestaw poprawek ze strony borlanda do cpp buildera.
pozdrawiam
pepsi^no1
Jeśli chodzi o łatki do mojego BCB5 to wszystko jest OK, więc nie bawiłem się w to. Co do biblioteki vclx.lib (vclx50.lib) to ten pomysł okazał się strzałem w dziesiątkę! Teraz linker nie protestuje i wszystko jest tak jak być powinno. THX za pomoc.
sciepek
Pomocy. Dopiero się uczę programować. Zacząłem od C++, zainstaowałem sobie Borlanda 6 z plytki Eksperta i zaczynam pracę. Mój problem polega na tym, że jeśli piszę nawet najprostszy program
#include <iostream.h> int main() { cout << "bla bla bla"; }
to zawsze wyskakuje mi
[Linker error] unresolved external '_Form1' referenced from C:BorlandCBuilder6Projectsproject1.OBJ
[Linker error] unresolved external '_TForm1::' referenced from C:BorlandCBuilder6Projectsproject1.OBJ
mimo, że to nie tam zapisuje pliki z programem.
Nie zmienim żadnych opcji w programie (bo nie wiem co z czym się je :))Proszę pomóżcie.
w borlandzie cpp builder dajesz file -> new -> other
na zakladce new wybierasz console wizard:
wybierasz sobie c++ oraz zaznaczasz console aplication dajesz oki i dopiero wrzucasz swoj kod, ktory btw powinien wygladac tak:
#include <iostream>
using namespace std;
int main()
{
cout << "bla bla bla";
return 0;
}
pozdrawiam
pepsi^no1
uff, dziła:D, wielkie dzięki pepsi:)