I am not sure what is going on here (not that expert in bcb), but let me explain what I've found:
The error is because it isn't linking the vcl library (you see all those missing external Vcl::... messages). It looked like something missing in the cpbroj.
So I tried compiling directly from the IDE, and it worked. But of course, compiling from command line didn't.
Next step was realizing that I had compiled from the IDE in debug mode, while smartsetup compiles in release... So I went back to the IDE, and compiled in release mode. When I went back to compile in smartsetup, it compiled cleanly.
Ok, so I diffed the files (the ones you sent, against the ones after compiling in release with the IDE), and what I saw is that originally, this cbproj missed the lines:
which were added when I compiled from the IDE in release mode. Note that it is for "Cfg_2" which is release in this case (It might switch depending in the cbproj, sometimes Cfg_1 is debug and sometimes Cfg_2 is debug, with release being Cfg_2/1 respectively).
So now I went to your original files, I added the line:
<LinkPackageImports>rtl.bpi;vcl.bpi</LinkPackageImports>
To Cfg_2 (it already was for Cfg1 in the original file), and it compiles cleanly:
(used d12, not 11, because I am on the road and only have d12/13 in this laptop. but it should be the same with d11)
So in short:
- The file is missing
vcl.bpi and rtl.bpi link packages
- Why is it missing them? I don't know. But it looks like if you build in release from the IDE, it will add that missing line to the release config.
I am not sure how (and if) smartsetup could be improved to handle this case, but it looks like you can't really compile from the command line until you've compiled from the IDE, and those link files are added. And you need to compile in the IDE for the exact stuff you need (release, not debug, and both win32/64 if you want to create win32/64 apps). Each run will add the linkpackages to the correct config, not to all of them.