Build Project AND Rebuild Project command are wrong
- When i choose “Build Project” i get a compile command like a file see
Buinding Project: [fltk109]......
/home/user/Bin/FreeBASIC/FreeBASIC-1.10.0-source/bin/fbc -c -m "main" -b "main.bas" -i "/home/user/Bin/FreeBASIC/FreeBASIC-1.10.0-linux-x86_64/include/freebasic" -p "/home/user/Bin/FreeBASIC/FreeBASIC-1.10.0-linux-x86_64/lib/freebasic/linux-x86_64" -l Xrender -l Xcursor -l Xfixes -l Xext -l Xft -l fontconfig -l Xinerama -l pthread -l m -l X11 -l png -l z -l jpeg
2) When i choose “Rebuild Project“ i get the correct compile command
Building Project: fltk109......
/home/user/Bin/FreeBASIC/FreeBASIC-1.10.0-source/bin/fbc -x "fltk109" -m "main" -b "main.bas" -i "/home/user/Bin/FreeBASIC/FreeBASIC-1.10.0-linux-x86_64/include/freebasic" -p "/home/user/Bin/FreeBASIC/FreeBASIC-1.10.0-linux-x86_64/lib/freebasic/linux-x86_64" -l Xrender -l Xcursor -l Xfixes -l Xext -l Xft -l fontconfig -l Xinerama -l pthread -l m -l X11 -l png -l z -l jpeg
Comments (5)
-
repo owner -
repo owner I’ll correct the “Build Project” behavior as I said at next reversion.
In my test at rev.519, if “Pass One File To Compiler” is ON and use “Build Project”, poseidon will pass .bas( not .o ) to FBC at 2nd step, so FBC will rebuild the bas(project), I will modify it to keep: 1st Step= compile to obj; 2nd step= link the obj and lib, but actually, instead of compile to obj and link it, we should just rebuild project
-
reporter In Build Project it does not produce an exe with project file name…
fbc -c -m "main" -b "main.bas"
fbc -x "fltk109" -m "main" -b "main.bas"
see the diference ? In Rebuild it has -x “projectname“
i am not using “Pass One File to Compiler”, my project just has one file
-
reporter My apologies… Build Project creates an exe file
something i have understood wrong about compiling projects…
from my side there is no issue any more.
-
repo owner - changed status to resolved
It's OK~ I still will modify other issues that I found at nex rev.
- Log in to comment
If “Build Project” compile Ok, it should continue link the object files, you mean the issue is no link action?
In my design, the “Build Project” action:
(1) Check project’s files if source and object are exist.
(2) If both exist, check the modified time, if the the time of sources are newer, compile the source but do not link, so pass to FBC -c option
(3) Then pass all object to FBC, FBC will call the linker to produce the ececutable file
Like below:
Buinding Project: [ppSDL2GL]......
e:/codingpark/freebasic-1.10.0-winlibs-gcc-9.3.0/fbc32.exe -c -m "main" -b "main.bas" -b "poorpower/poorpower.bas" -b "poorpower/superHash.bas" -b "poorpower/tools.bas"
Compile Success!!
Continue Link Project: [ppSDL2GL]......
e:/codingpark/freebasic-1.10.0-winlibs-gcc-9.3.0/fbc32.exe -x "ppSDL2GL.exe" -m "main" -a "main.o" -a "poorpower/poorpower.o" -a "poorpower/superHash.o" -a "poorpower/tools.o"
Compile Success!!
==========EDIT==========
Ok, I note your project is pass one file to FBC, do you toggle on the “Pass One File to Compiler” option? The behavior is different, let me check my code…