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/am5728: Issues with migrating to sys/bios v6.51 (gnu v6.3.1) with c/c++ code

Part Number: AM5728

Tool/software: TI C/C++ Compiler

Hi, 

I have been trying to migrate my project (AM5728) sys/bios 6.46 to v6.51 following the instructions found in

http://processors.wiki.ti.com/index.php/SYS/BIOS_with_GCC_(CortexA)

But I suspect that these instructions are c specific, because when i try to compile my project with a combination of c/c++ code, i get a whole bunch of compilation errors.

among others:
conflicting declaration of c function .....
template specialization with C linkage

Is it some specific steps needed to opt for c++ in the migration process left out of the wiki?

please advice

best regards
Martin Carlsen

  • Hi Martin,

    Can you do a rebuild and attach the full build output? It would be great if you could include the file that is given the problem also (or a short example that displays the same issue).

    Todd
  • As my project is quite big, i tried to build an example project for reference, and to my surprise it worked now.
    (I needed to add a c in the linker libraries directive, in addition to the stdc++)
    so i guess it's not a c/c++ combination issue but something else.

    But I still have issues with my project..
    The build log is quite big, and it contains a bit more information than I would want to paste in public.
    Can I send you a file containing the build log?
    I'm not sure is it is a specific file causing the problem, I think it is a system issue..
    Martin
  • Hi Martin,

    I just sent you a friend request with my email so you can send the build log.

    Todd
  • Hi,

    Thanx for the fast support.
    When cleaning up the build log for sending, I was able to see that it was one file causing most of the strange issues, so that was actually an easy fix when located.
    as for the rest, i had to clean up some of ti code to get the last bits in place.

    we are using bsd sockets in nimu so for reference, here is what I had to do:

    remove struct timeval:
    C:\ti\ndk_2_25_01_11\packages\ti\ndk\inc\bsd\socketndk.h
    C:\ti\ndk_2_25_01_11\packages\ti\ndk\inc\socketndk.h

    remove select function
    C:\ti\ndk_2_25_01_11\packages\ti\ndk\inc\bsd\sys\socket.h

    add closing bracket emac_v4_..
    C:\ti\pdk_am57xx_1_0_7\packages\ti\drv\emac\src\v4\emac_drv_v4.h


    add ifdef cplusplus{} around:
    C:\ti\pdk_am57xx_1_0_7\packages\ti\board\board.h
    C:\ti\pdk_am57xx_1_0_7\packages\ti\csl\soc\am572x\src\csl_device_xbar.h

    compiling with libstdc++

    linker library c and stdc++

    now everything is working

  • Thanks for the update and glad to hear everything is working now!