Utworzenie projektu w Eclipse i budowanie
W Eclipse należy utworzyć nowy projekt: Makefile Project with Existing Code, wskazać katalog projektu.
Następnie ustawić parametry budowania wg. poniższej ilustracji:
ustawić definicję symbolu __fastcall:
oraz ścieżki:
Trzeba jeszcze poprawić wygenerowany plik hello1.cpp dopisując typ zwracanej wartości (int) funkcji WinMain:
//---------------------------------------------------------------------------
#include
#pragma hdrstop
//---------------------------------------------------------------------------
USEFORM("Unit1.cpp", Form1);
//---------------------------------------------------------------------------
int WINAPI WinMain(HINSTANCE, HINSTANCE , LPSTR , int )
{
try
{
Application->Initialize();
...
Po wciśnieciu [Build Project] nastąpi budowanie a w oknie Console (CDT Build Console) pojawią się komunikaty
budowania:
15:33:13 **** Incremental Build of configuration Default for project hello1 ****
"c:\Progra~1\borland\cbuilder6\bin\make" -f hello1.mak hello1.exe
MAKE Version 5.2 Copyright (c) 1987, 2000 Borland
c:\Progra~1\borland\CBUILD~1\bin\..\BIN\bcc32 -Od -H=c:\Progra~1\borland\CBUILD~1\bin\..
\lib\vcl60.csm -Hc -Vx -Ve -X- -r- -a8 -b- -k -y -v -vi- -c -tW -tWM -w-par -I"C:\Program File
s\Borland\CBuilder6\Projects";C:\_Projekty\builder2eclipse;c:\Progra~1\borland\CBUILD~1\bin\..\i
nclude;c:\Progra~1\borland\CBUILD~1\bin\..\include\vcl -D_DEBUG;_RTLDLL;NO_STRICT;USEPACKAGES -n
.\ .\hello1.cpp .\Unit1.cpp
Borland C++ 5.6 for Win32 Copyright (c) 1993, 2002 Borland
.\hello1.cpp:
Loaded pre-compiled headers.
.\Unit1.cpp:
Loaded cached pre-compiled headers.
c:\Progra~1\borland\CBUILD~1\bin\..\BIN\ilink32 @MAKE0000.@@@
Turbo Incremental Link 5.60 Copyright (c) 1997-2002 Borland
15:33:14 Build Finished (took 910ms)
W wyniku tego utworzy się plik wykonywalny hello1.exe. Niestety nie ma jeszcze możliwości
skasowania (clean) plików tymczasowych i wyniku budowania. Aby to uzyskać trzeba dopisać do pliku makefile'a projektu hello1.mak
poniższe reguły:
...
.rc.res:
$(BCB)\BIN\$(BRCC32) $(RFLAGS) -I$(INCLUDEPATH) -D$(USERDEFINES);$(SYSDEFINES) -fo$@ $<
# ---------------------------------------------------------------------------
clean:
rm -f $(PROJECT)
rm -f $(OBJFILES)
rm -f $(PROJECT:.exe=.tds)
all: $(PROJECT)
oraz włączyć wywoływanie all oraz clean w środowisku :
Rozpoznawanie błędów i ostrzeżeń przez Eclipse
Borland C++ Builder generuje ostrzeżenia w innym formacie niż tego oczekuje Eclipse:
Borland format
Error E2141 .\Unit1.cpp 21: Declaration syntax error in function _fastcall TForm1::Button1Click(TObject *)
GNU format (rozpoznawany przez Eclipse)
ListaKont.cpp:1066:1: warning: W8008 Condition is always true in function Wypelnianie()
co można dopasować przetwarzając komunikaty z kompilatora za pomocą skryptu w AWKu (scripts/build_msg_transf.awk) i wstawiając jego wywołanie w potok
operacji budowania. Całość dobrze jest opakować skryptem, który ustawi odpowiednie ścieżki. W efekcie budowanie sprowadza się do wywołania
skrytpu built.bat:
Sprowokujmy błąd np. kasując średnik na końcu linii w Umain1.cpp, kompilacja prowadzi do wyniku, który jest rozpoznawany
przez Eclipse co widać w oknie Problems (patrz poniżej), kliknięcie na błędzie prowadzi do pliku źródłowego wystąpienia błędu.
Dalsze modyfikacje procesu budowania w kolejnym opisie: Jak zbudować projekt C++ Buildera pod Eclipse (użycie GNU make).
Linki
- Strona projektu MinGW - należy siągnąć instalator MinGW i MSYS
- Strona projektu Eclipse - należy ściągnąć Eclipse IDE for C/C++ Developers
- Pliki źrodlowe - projekt Borland C++ Buildera pod Eclipse
- Lista błędów Borland C++ Buildera