Issue while building the project:

Hello,

I was trying to run TFLM custom code on Thingy:53 device and while building I have faced these warnings.

1. Could you please help me to understand Why I am facing these warning?

2. How can I Remove solve these problems?

Regards,

Divya

Parents Reply
  • Hi Divya,

    As you can see in the warning text, you are trying to set configurations related to logging (CONFIG_LOG_DEFAULT_LEVEL and CONFIG_LOG_MODE_MINIMAL) while logging is disabled:

    Check these unsatisfied dependencies: (LOG || LOG) (=n)

    If you go to the links referenced in the warnings you can also see that the configurations depend on CONFIG_LOG being set, see for example CONFIG_LOG_DEFAULT_LEVEL.

    If you want to use logging you must set CONFIG_LOG=y in prj.conf. If you do not want to use logging then you can remove these two configurations instead.

    Best regards,

    Marte

Children
  • Thanks Marte for your message.

    I need to ask that I have added some header files and source file in section of "src" my custom project but when I opened the project in VSC I can not find those files. 

    I can only see those files in Explorer section. Do you know how can I see my all files?

    Regards,

    Divya

  • Hi Divya,

    You need to add the files to the project. For the header files you add the directory the files are in with zephyr_library_include_directories, and for the source files you add the files themselves to target_sources, for example:

    target_sources(app PRIVATE
        src/main.c
        src/<custom_file>
    )
    
    zephyr_library_include_directories(src)

    Where you change <custom_file> to the filename of your source file.

    After you do a pristine build after adding this you should see the files in the nRF Connect extension in VS Code.

    Best regards,

    Marte

  • Thanks for the quick reply.

    Actually I want to add a.cc file in the src folder and then want to call inside the main.c file.

    But it is showing an error that : No Sorce given to the target: app cmake in line 418. So, what should I do to include a .cc file inside main.c file.

    Does calling a C++ file inside a C is really support by Thingy?

    If not then is there any possibilty to build and Flash Thingy with a C++ file like main.cc in place of main.c?

    Regards,

    Divya

  • Hi Divya,

    Are you trying to include the C++ file directly or through a header file? You cannot include source files, so you must include the header file in main.c.

    Also, you cannot use C++ code in C files. If you put a C function (from your C++ file) in an extern "C" block in your header file, then you can use it in your C file, but you cannot use C++ classes and many other C++ features in a C file. If you search online you will be able to find a lot of information about this, and about how to use extern "C". If you want to use C++ features then you should have your main file as a C++ file instead of C. This is for example done for Matter samples in nRF Connect SDK, so you can look there for examples (nrf/samples/matter).

    Best regards,

    Marte

  • Hello Marte,

    I have followed the same solution as you have mentioned above, I will explore more about the matter example. Thank you for sharing.

    Now after adding C++ header file along with other header files I am facing some issues. it seems like I am not able to add libraries from other folder.

    So, I have cloned a repository inside the src directory in a separate folder named tensorflow inside "src" and it is showing me the error like:

    As you mentioned earlier I can add all the extra file in the CMakelist.txt. So, I have added them like:

    can you please help me why I am not able to access the header file inside the tensorflow folder? I have checked and verified that these files are at the mentioned location.

    Regards,

    Divya

Related