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.

Importing from CCS3.1 to 4.1.3

Other Parts Discussed in Thread: CCSTUDIO

when using CCS 4.1.3, I notice that it compiles the source files in the project.  However at link time it can’t find the .obj files and the linker declares errors. This project is imported from a legacy CCS 3.1 project where it compiles and links. Is there a problem with importing from a CCS 3.1 project as the CCS 4.1.3 gives you only two options, one import from an existing CCS project or  a legacy CCS V3.3 project. 

  • Sarah,

    You should be able to import a 3.1 project into v4. Did you check the migration.log file? Any issues encountered during the migration would be documented there. If you can provide the project being imported, I can take a closer look.

    Thanks

    ki

  • Here are the issues we are seeing with the new migrated project.

     

    ·         Every file that is looking for “std.h” in the CCS4.1.3 project is giving me this same error at compile time:

     

    >> WARNING: object file specified, but linking not enabled

    fatal error: could not open source file "std.h"

    1 fatal error detected in the compilation of “filename.c”.

     

    ·         As you suggested I looked at the migration log file and I see a bunch of the same warning listed below for some files in the project (not all):

     

    !TOOL: 'com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.compilerRelease.1676266497'

    !WARNING: Unresolved option: com.ti.ccstudio.buildDefinitions.C6000_6.1.exe.compilerRelease.1676266497./filename.cpp::-ml3

     

  • Is this a BIOS project? If so, what version of BIOS are you using? I thin 3.1 comes with BIOS 4.9

  • We are not using BIOS whatsoever for this project. The original legacy project used CCS 3.1 and we are moving to CCS 4.1.3.

  • hmmm.. I'm curious what is ulling in std.h. Could your provide the project?

  •  I removed the dummy “std.h” and instead added an include directory path to point to the real “xdc/std.h”. The compile errors seem to have gone away however when it gets to the linker it can’t find the object file for each file and puts out one error for each file and subsequently cannot create the .out file.

     

    Here ‘s what the compiler is doing for each file:

     

    'Building file: C:/../../Filename.c'

    'Invoking: Compiler'

    'Finished building: C:/../../Filename.c'

     

    Here’s what the linker is doing for each file

     

    "C:\DOCUME~1\username\LOCALS~1\Temp\081043", line 15: error: cannot find file

       "C:/../../Filename.obj"

     

    Finally it puts out:

    Error 1

    C:\Program Files\Texas Instruments\ccsv4\utils\gmake\gmake: Target `all' not remade because of errors.

    Though we are not using any BIOS for this legacy CCS3.1  C++ project,  I removed the include path for the “xdc/std.h” and replaced it with our BIOS include path which btw was the same as your BIOS include path i.e.

  • Right now the main problem seems to be the lack of .obj files from the compiler. Anyway regarding the std.h, please note this is not a standard C project but it is  a  legacy Cplusplus project . I think it is used for some definition of Bool or some other data type.

  • Sarah,

    Could you provide the full project (including source files)? I can be the 3.1 project that you originally imported. It will help us try to figure out what the problem is.

    Thanks

    ki

  • I'm sorry but the end customer is XXXXXX and the source files cannot be shared (confidential). We think it has somethink to do with them trying to import directly to 4.1 from 3.1, can this be done?

  • Sarah,

    Sarah Pardee said:
    Anyway regarding the std.h, please note this is not a standard C project but it is a  legacy Cplusplus project . I think it is used for some definition of Bool or some other data type.

    Independently of C or C++, the file <std.h> is provided by BIOS and, as you said, defines some data types (the Bool datatype is actually defined by <tistdtypes.h>included by <std.h>) and, since these files still exist in the CCSv4 installation, I suggest you to include the directory <CCS_INSTALL_DIR>\bios_5_4x_xx_xx\packages\ti\bios\include in the compiler options. I am not sure the automatic import tool would add this directory as the original project did not have a BIOS configuration file (CDB or TCF).

    Sarah Pardee said:
    Here’s what the linker is doing for each file
    "C:\DOCUME~1\username\LOCALS~1\Temp\081043", line 15: error: cannot find file
       "C:/../../Filename.obj"

    I got a very similar error when I imported a 3.1 project into CCSv4 (could not find object or temp files). Can you check the compiler options -ft, -fr, -fs and -ff? They are located at the following location: right-click on the project --> select C/C++ Build on the left tree --> select Directory Specifier. 

    A forum thread that discusses some issues with temporary directories can be found below. Although I don't think this is your case.

    http://e2e.ti.com/support/development_tools/compiler/f/343/p/42623/149085.aspx

    Sarah Pardee said:

    We think it has somethink to do with them trying to import directly to 4.1 from 3.1, can this be done?

    For a non-BIOS project I don't think there should be any problems. If it uses BIOS4.9 project then I would first convert the CDB file to TCF (using BIOS5.x) and then import it to CCSv4.

    Best regards,

    Rafael