Hi @gerko
sorry I am no expert in CMake, but I think I can give you some general hints how to solve this issue.
The error gnu/bin/ld: cannot find -l<NAME> typically indicates that the linker wants to link the library with name NAME and it does not find. Now you have several options:
make sure the library file (either a .so or a .a file) exsits within your docker container
If it does not exist, maybe you can install it with a package manager like apt
I did a quick google search and was not able to find a package you can instal with this name, so I guess if you do not have precompiled binaries for it, the only option is to build it by yourself and then link your application against these.
Just to clarify your situation. So you have a multi-level CMake project as seen by your folder structure. This S2LP library is built in one folder and is then linked and used in the compilation of your main application, correct?
But for whatever reason this linking isn’t working. Now is it not working because S2LP isn’t being built? Or it is being built but it’s not being found?
Also, as a sanity check outside of the VSCode extension if you manually just run cmake and make on this project does it build fine? This would help tell us if the CMake files need adjusting or something is wrong with the build automation in our extension.
as indicated, an existing, working project is to be ported.
I found that in VSCode + Torizon Extension you can create a CMake project that already uses a library. This is closest to the answer I wanted.
It is certainly not in the spirit of the inventor of CMake to change the folder structure for each hardware target.
Nevertheless, I’m getting ahead and I consider the thread as answered.