This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Compiler/TDA4VM: TI compiler for static library

Part Number: TDA4VM

Tool/software: TI C/C++ Compiler

In my project, I want to realize a interface to call openvx function by encapsulation for static library. 

At beginning, I try to use makefile or cmake to do that, but I find it is too complex to enumerate related library,

So I use TI compiler framework, I can compile library and exe file quickly for just configuration concerto.mak.

However, I find a problem for setting TARGETTYPE.

When I make it exe, I can comile an exe file ended with .out, which size is several MBs, and can run on TDA4

board rightly, it seems containing all related libraries.

When I make it library, I can comile an lib file ended with .a, which size is only several KBs, and it looks like 

so small that I guess all related libraries is not inclued for that, maybe it is dynamic library.

Howerver, if I can not comile a static library, I have to copy many related library  together to accomplish compile

link, thus I want to know how to compile a real static library ? 

  • The exe will link all listed "STATIC_LIBS" into the executable, which is why it is large.

    The LIBRARY concerto option will only archive the source files listed and package into a static library.  It does not invoke the linker since linking is done only when the exe is created.

    I don't understand what you mean by how to compile a "real" static library.  The static libraries created by concerto are "real" from my point of view.  Are you trying to archive several static libraries into a single concatenated static library?

    Regards,

    Jesse

  • Thank for your reply in time, and I should explain my purpose in detail.

    For my project, we decide to use cmake framework for compile, instead of TI concerto framework.

    However, we want to use openvx function for my project, so we just want to make it a convenient component as a static library.

    In your description, if I cannot compile the library including all related libraries, I have to find all related libs for integration,

    which will consume more time and unconvenient for us. Thus we just make to link only one static lib for simply.

    I think I have told you the reason clearly, can you offer us a solution for this problem.  

  • Hello,

    Unfortunately, we do not support cmake by default within TIOVX.  However, inside vision_apps, we have several applications that use concerto to build the application.  Since we have several different libraries within TIOVX, we have created common concerto files which we include within the applications that require TIOVX libs.  This common concerto file is located at "vision_apps/apps/concerto_a72_inc.mak".  As you can see within this file, there are TIOVX_LIBS listed that contain all of the libraries within TIOVX.  Perhaps you can use this as guidance for creating your own project.

    Regards,

    Lucas