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.
Hi,
We have a massive and complex CSS 3.3 project we're porting to CCS4.2.
Because of the project directory structure I have inherited, there are a lot of
long include paths to the source and header files. Originally the include paths
to the required header files were specified relative to the project file, but then
we ran into the problem of the maximum allowable path length being only 160
characters.
Consequently we changed all the includes in the source files to only specifiy
the header file. The disadvantage of this is that all the include paths now have
to be specified in the "Include options" of the "Build properties". As a result we
have over a hundred include paths in the "Include options",
My problem is therefore as follows:
The compiler uses all of the include paths up to a point, but it then seems as
though it truncates the paths and then tries to compile. The output is as follow:
(50+ include paths above)
--include_path="D:/Rapid_Mobile/projects/client-rapidm/product-wp_tc4_reference_system/source/dependencies/module-rm_ale_2g/module-lp/include" --include_path="D:/Rapid_Mobile/projects/client-rapidm/product-wp_tc4_reference_system/source/dependencies/module-rm_ale_2g/module-platform/include" --include_path="D:/Rapid_Mobile/projects/client-rapidm/product-wp_tc4_reference_system/source/dependencies/module-m
'include_path' is not recognized as an internal or external command,
operable program or batch file.
gmake: [D:/Rapid_Mobile/projects/client-rapidm/product-wp_tc4_reference_system/make/tc4_rev06/module-hfh_interface_lib/bin/Release_Complete/abstract_audio_object_dig_aud_complex.obj] Error 1 (ignored)
Does someone perhaps have an idea on how I can solve this?
Is there a limitation on the number of include paths that can be
specified?
Please help urgently!
Regards
Reinier
Reinier,
Maybe the command line length is exceeding a limit in this case. Which specific version of CCSv4 are you using? I thought that in the latest version (4.2.4), CCS automatically puts the compiler options into a options file (named <sourcefilename>_ccsCompiler.opt) and passes that file to the compiler rather than passing the entire set of options directly.
Could you check your build console if you see something like that? It would first say "Invoking Compiler", then list all the flags and then show something like this:
"C:/CCStudio_v4.2.4.00033/ccsv4/tools/compiler/c2000/bin/cl2000" -@"Adc_ccsCompiler.opt"
Another option may be for you to place all the include path options within an options file (or multiple options files) yourself and pass that options file to CCS rather than list out each of the include paths individually in the project properties. The options file can be specified under Project->Build Properties->Compiler->Command Files, then add the file to --cmd_file option. The Compiler Users Guide also documents this option.
Hi AartiG,
My Code Composer Studio version is: 4.2.0.10017
In the mean time I ran into another problem in that in the project
there exists more than one header file with the same name, but
different content (depending on the platform). In our previous
version of the project the relative include paths were also added
to the "include" statement to make the distinction. So in essence
this approach will not work in any case.
This was an attempt to solve the previous problem I had with
the MAX_PATH constraint, see:
http://e2e.ti.com/support/development_tools/compiler/f/343/t/153998.aspx#565383
Can you perhaps assist in that thread?
Unfortunately I don't really have any good suggestions to work around the MAX_PATH issue. One option would be to continue to use an older version of the compiler tools (prior to when this check for MAX_PATH was added) if you're sure that it finds/uses the correct include files and works as expected. CCS can be told to use a different version of codegen tools than what it is shipped with. Please see this wiki page for details on how to do this:
http://processors.wiki.ti.com/index.php/Compiler_Installation_and_Selection
The downside ofcourse is that you will be locked into an older version and not be able to avail of bug fixes/new features that are in newer versions of the codegen tools.
I know this was 4 years ago; but we are running into this in CCS 5. What we have found is that the when a file is being compiled, it appears that the include directives that use relative path names are being appended to each other when the tool chain is looking for a header file. If a c/cpp file includes a .h file using a relative path, and that .h file includes another .h file using a relative path, and so on and so forth, the resulting path is an appending of all the include paths relative from the initial c/cpp file being compiled; and it gets long quick!
So the question is, is there a way in CCS around this behavior without changing the include directives. The same code compiles fine in a different tool chain for a different target. So we know its a tool-chain issue.