The linking issue of the TrustZone project across multiple projects.

I have two TrustZone projects (SE_Part1 and SE_Part2), both compiling fine individually.
However, when combined into a multi-project workspace (SE_ALL), compiling SE_Part1 in Keil triggers an error:
se_part1.axf: Error: L6449E: I/O error writing '.\Obj\SE_Part1_CMSE_Lib.o' (file not found).

Per the Using TrustZone on Armv8-M guide, CMSE_Lib.o should be generated as <projectname>_CMSE_Lib.o in the Objects directory.
Keil auto-generates SE_Part1_CMSE_Lib.o but fails to locate the Obj folder, even though it exists under SE_Part1.
Manually creating an Obj folder in the SE_ALL directory resolved the error.

This workaround pollutes the project structure, forcing me to create redundant folders like xxx_prj\Build\Obj and explain their purpose to collaborators.
This is likely a bug: SE_Part1_CMSE_Lib.o should always generate in SE_Part1\Obj, regardless of workspace context.
Has anyone encountered the same problem? If so, how can this problem be solved?
0