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.

Linker Problem



Dear sir/Mrs.

We are workin on a project with the following configuration: 

1. Target machine: 6678.

2. Software tools 7.3.5.

3. C++ with exceptions.

4. BIOS6. 

The files are compiled successfully. THe linker gives error messages which are not comprehensive. for example: suppose we use a constant  X which is referenced by many modules. The error message saya that we have a redefinition problem.

On the other sie, if we refer to a variable using its namespace, the compiler finds that variable. The linker says that the variable is undefined.

Best regards,

Yehuda

  • Please see if your diagnostics have an explanation at http://processors.wiki.ti.com/index.php/Category:Compiler_diagnostic_messages .  If not, then we need to see the exact text of the diagnostic.  

    Thanks and regards,

    -George

  • Dear George.

    These are the error messages:

    Description Resource Path Location Type
    <a href="file:/C:/ti/ccsv5/tools/compiler/dmed/HTML/10234.html">[?]</a> unresolved symbols remain RISC_Demo_EVM66788L_Version_0.0 C/C++ Problem
    errors encountered during linking; "RISC_Demo_EVM66788L_Version_0.0.out" not built RISC_Demo_EVM66788L_Version_0.0 C/C++ Problem
    first defined in "./SOURCE_FILES/RISC_CPU_FILES/pic.obj"; redefined in "./SOURCE_FILES/RISC_CPU_FILES/bios.obj" RISC_Demo_EVM66788L_Version_0.0 C/C++ Problem
    first defined in "./SOURCE_FILES/RISC_CPU_FILES/pic.obj"; redefined in "./SOURCE_FILES/RISC_CPU_FILES/dcache.obj" RISC_Demo_EVM66788L_Version_0.0 C/C++ Problem
    first defined in "./SOURCE_FILES/RISC_CPU_FILES/pic.obj"; redefined in "./SOURCE_FILES/RISC_CPU_FILES/decode.obj" RISC_Demo_EVM66788L_Version_0.0 C/C++ Problem
    first defined in "./SOURCE_FILES/RISC_CPU_FILES/pic.obj"; redefined in "./SOURCE_FILES/RISC_CPU_FILES/display_results.obj" RISC_Demo_EVM66788L_Version_0.0 C/C++ Problem
    first defined in "./SOURCE_FILES/RISC_CPU_FILES/pic.obj"; redefined in "./SOURCE_FILES/RISC_CPU_FILES/exec.obj" RISC_Demo_EVM66788L_Version_0.0 C/C++ Problem
    first defined in "./SOURCE_FILES/RISC_CPU_FILES/pic.obj"; redefined in "./SOURCE_FILES/RISC_CPU_FILES/fetch.obj" RISC_Demo_EVM66788L_Version_0.0 C/C++ Problem
    first defined in "./SOURCE_FILES/RISC_CPU_FILES/pic.obj"; redefined in "./SOURCE_FILES/RISC_CPU_FILES/floating.obj" RISC_Demo_EVM66788L_Version_0.0 C/C++ Problem
    first defined in "./SOURCE_FILES/RISC_CPU_FILES/pic.obj"; redefined in "./SOURCE_FILES/RISC_CPU_FILES/icache.obj" RISC_Demo_EVM66788L_Version_0.0 C/C++ Problem
    first defined in "./SOURCE_FILES/RISC_CPU_FILES/pic.obj"; redefined in "./SOURCE_FILES/RISC_CPU_FILES/main.obj" RISC_Demo_EVM66788L_Version_0.0 C/C++ Problem
    first defined in "./SOURCE_FILES/RISC_CPU_FILES/pic.obj"; redefined in "./SOURCE_FILES/RISC_CPU_FILES/mmxu.obj" RISC_Demo_EVM66788L_Version_0.0 C/C++ Problem
    first defined in "./SOURCE_FILES/RISC_CPU_FILES/pic.obj"; redefined in "./SOURCE_FILES/RISC_CPU_FILES/paging.obj" RISC_Demo_EVM66788L_Version_0.0 C/C++ Problem
    first defined in "./SOURCE_FILES/RISC_CPU_FILES/pic.obj"; redefined in "./SOURCE_FILES/systemc_2.2.1/src/sysc/communication/sc_clock.obj" RISC_Demo_EVM66788L_Version_0.0 C/C++ Problem
    first defined in "./SOURCE_FILES/RISC_CPU_FILES/pic.obj"; redefined in "./SOURCE_FILES/systemc_2.2.1/src/sysc/communication/sc_event_finder.obj" RISC_Demo_EVM66788L_Version_0.0 C/C++ Problem
    first defined in "./SOURCE_FILES/RISC_CPU_FILES/pic.obj"; redefined in "./SOURCE_FILES/systemc_2.2.1/src/sysc/communication/sc_export.obj" RISC_Demo_EVM66788L_Version_0.0 C/C++ Problem
    first defined in "./SOURCE_FILES/RISC_CPU_FILES/pic.obj"; redefined in "./SOURCE_FILES/systemc_2.2.1/src/sysc/communication/sc_interface.obj" RISC_Demo_EVM66788L_Version_0.0 C/C++ Problem
    first defined in "./SOURCE_FILES/RISC_CPU_FILES/pic.obj"; redefined in "./SOURCE_FILES/systemc_2.2.1/src/sysc/communication/sc_mutex.obj" RISC_Demo_EVM66788L_Version_0.0 C/C++ Problem
    first defined in "./SOURCE_FILES/RISC_CPU_FILES/pic.obj"; redefined in "./SOURCE_FILES/systemc_2.2.1/src/sysc/communication/sc_port.obj" RISC_Demo_EVM66788L_Version_0.0 C/C++ Problem
    first defined in "./SOURCE_FILES/RISC_CPU_FILES/pic.obj"; redefined in "./SOURCE_FILES/systemc_2.2.1/src/sysc/communication/sc_prim_channel.obj" RISC_Demo_EVM66788L_Version_0.0 C/C++ Problem
    first defined in "./SOURCE_FILES/RISC_CPU_FILES/pic.obj"; redefined in "./SOURCE_FILES/systemc_2.2.1/src/sysc/communication/sc_semaphore.obj" RISC_Demo_EVM66788L_Version_0.0 C/C++ Problem
    first defined in "./SOURCE_FILES/RISC_CPU_FILES/pic.obj"; redefined in "./SOURCE_FILES/systemc_2.2.1/src/sysc/communication/sc_signal_ports.obj" RISC_Demo_EVM66788L_Version_0.0 C/C++ Problem
    first defined in "./SOURCE_FILES/RISC_CPU_FILES/pic.obj"; redefined in "./SOURCE_FILES/systemc_2.2.1/src/sysc/communication/sc_signal_resolved_port s.obj" RISC_Demo_EVM66788L_Version_0.0 C/C++ Problem
    first defined in "./SOURCE_FILES/RISC_CPU_FILES/pic.obj"; redefined in "./SOURCE_FILES/systemc_2.2.1/src/sysc/communication/sc_signal_resolved.obj" RISC_Demo_EVM66788L_Version_0.0 C/C++ Problem
    first defined in "./SOURCE_FILES/RISC_CPU_FILES/pic.obj"; redefined in "./SOURCE_FILES/systemc_2.2.1/src/sysc/communication/sc_signal.obj" RISC_Demo_EVM66788L_Version_0.0 C/C++ Problem
    first defined in "./SOURCE_FILES/RISC_CPU_FILES/pic.obj"; redefined in "./SOURCE_FILES/systemc_2.2.1/src/sysc/datatypes/bit/sc_bit.obj" RISC_Demo_EVM66788L_Version_0.0 C/C++ Problem
    first defined in "./SOURCE_FILES/RISC_CPU_FILES/pic.obj"; redefined in "./SOURCE_FILES/systemc_2.2.1/src/sysc/datatypes/bit/sc_bv_base.obj" RISC_Demo_EVM66788L_Version_0.0 C/C++ Problem
    first defined in "./SOURCE_FILES/RISC_CPU_FILES/pic.obj"; redefined in "./SOURCE_FILES/systemc_2.2.1/src/sysc/datatypes/bit/sc_logic.obj" RISC_Demo_EVM66788L_Version_0.0 C/C++ Problem
    first defined in "./SOURCE_FILES/RISC_CPU_FILES/pic.obj"; redefined in "./SOURCE_FILES/systemc_2.2.1/src/sysc/datatypes/bit/sc_lv_base.obj" RISC_Demo_EVM66788L_Version_0.0 C/C++ Problem
    first defined in "./SOURCE_FILES/RISC_CPU_FILES/pic.obj"; redefined in "./SOURCE_FILES/systemc_2.2.1/src/sysc/datatypes/fx/sc_fxcast_switch.obj" RISC_Demo_EVM66788L_Version_0.0 C/C++ Problem
    first defined in "./SOURCE_FILES/RISC_CPU_FILES/pic.obj"; redefined in "./SOURCE_FILES/systemc_2.2.1/src/sysc/datatypes/fx/sc_fxdefs.obj" RISC_Demo_EVM66788L_Version_0.0 C/C++ Problem
    first defined in "./SOURCE_FILES/RISC_CPU_FILES/pic.obj"; redefined in "./SOURCE_FILES/systemc_2.2.1/src/sysc/datatypes/fx/sc_fxnum_observer.obj" RISC_Demo_EVM66788L_Version_0.0 C/C++ Problem
    first defined in "./SOURCE_FILES/RISC_CPU_FILES/pic.obj"; redefined in "./SOURCE_FILES/systemc_2.2.1/src/sysc/datatypes/fx/sc_fxnum.obj" RISC_Demo_EVM66788L_Version_0.0 C/C++ Problem
    first defined in "./SOURCE_FILES/RISC_CPU_FILES/pic.obj"; redefined in "./SOURCE_FILES/systemc_2.2.1/src/sysc/datatypes/fx/sc_fxtype_params.obj" RISC_Demo_EVM66788L_Version_0.0 C/C++ Problem
    first defined in "./SOURCE_FILES/RISC_CPU_FILES/pic.obj"; redefined in "./SOURCE_FILES/systemc_2.2.1/src/sysc/datatypes/fx/sc_fxval_observer.obj" RISC_Demo_EVM66788L_Version_0.0 C/C++ Problem
    first defined in "./SOURCE_FILES/RISC_CPU_FILES/pic.obj"; redefined in "./SOURCE_FILES/systemc_2.2.1/src/sysc/datatypes/fx/sc_fxval.obj" RISC_Demo_EVM66788L_Version_0.0 C/C++ Problem
    first defined in "./SOURCE_FILES/RISC_CPU_FILES/pic.obj"; redefined in "./SOURCE_FILES/systemc_2.2.1/src/sysc/datatypes/fx/scfx_mant.obj" RISC_Demo_EVM66788L_Version_0.0 C/C++ Problem
    first defined in "./SOURCE_FILES/RISC_CPU_FILES/pic.obj"; redefined in "./SOURCE_FILES/systemc_2.2.1/src/sysc/datatypes/fx/scfx_pow10.obj" RISC_Demo_EVM66788L_Version_0.0 C/C++ Problem
    first defined in "./SOURCE_FILES/RISC_CPU_FILES/pic.obj"; redefined in "./SOURCE_FILES/systemc_2.2.1/src/sysc/datatypes/fx/scfx_rep.obj" RISC_Demo_EVM66788L_Version_0.0 C/C++ Problem
    first defined in "./SOURCE_FILES/RISC_CPU_FILES/pic.obj"; redefined in "./SOURCE_FILES/systemc_2.2.1/src/sysc/datatypes/fx/scfx_utils.obj" RISC_Demo_EVM66788L_Version_0.0 C/C++ Problem
    first defined in "./SOURCE_FILES/RISC_CPU_FILES/pic.obj"; redefined in "./SOURCE_FILES/systemc_2.2.1/src/sysc/datatypes/misc/sc_concatref.obj" RISC_Demo_EVM66788L_Version_0.0 C/C++ Problem
    first defined in "./SOURCE_FILES/RISC_CPU_FILES/pic.obj"; redefined in "./SOURCE_FILES/systemc_2.2.1/src/sysc/datatypes/misc/sc_value_base.obj" RISC_Demo_EVM66788L_Version_0.0 C/C++ Problem
    first defined in "./SOURCE_FILES/RISC_CPU_FILES/pic.obj"; redefined in "./SOURCE_FILES/systemc_2.2.1/src/sysc/kernel/sc_cthread_process.obj" RISC_Demo_EVM66788L_Version_0.0 C/C++ Problem
    first defined in "./SOURCE_FILES/RISC_CPU_FILES/pic.obj"; redefined in "./SOURCE_FILES/systemc_2.2.1/src/sysc/kernel/sc_event.obj" RISC_Demo_EVM66788L_Version_0.0 C/C++ Problem
    first defined in "./SOURCE_FILES/RISC_CPU_FILES/pic.obj"; redefined in "./SOURCE_FILES/systemc_2.2.1/src/sysc/kernel/sc_join.obj" RISC_Demo_EVM66788L_Version_0.0 C/C++ Problem
    first defined in "./SOURCE_FILES/RISC_CPU_FILES/pic.obj"; redefined in "./SOURCE_FILES/systemc_2.2.1/src/sysc/kernel/sc_method_process.obj" RISC_Demo_EVM66788L_Version_0.0 C/C++ Problem
    first defined in "./SOURCE_FILES/RISC_CPU_FILES/pic.obj"; redefined in "./SOURCE_FILES/systemc_2.2.1/src/sysc/kernel/sc_module_name.obj" RISC_Demo_EVM66788L_Version_0.0 C/C++ Problem
    first defined in "./SOURCE_FILES/RISC_CPU_FILES/pic.obj"; redefined in "./SOURCE_FILES/systemc_2.2.1/src/sysc/kernel/sc_module_registry.obj" RISC_Demo_EVM66788L_Version_0.0 C/C++ Problem
    first defined in "./SOURCE_FILES/RISC_CPU_FILES/pic.obj"; redefined in "./SOURCE_FILES/systemc_2.2.1/src/sysc/kernel/sc_module.obj" RISC_Demo_EVM66788L_Version_0.0 C/C++ Problem
    first defined in "./SOURCE_FILES/RISC_CPU_FILES/pic.obj"; redefined in "./SOURCE_FILES/systemc_2.2.1/src/sysc/kernel/sc_object.obj" RISC_Demo_EVM66788L_Version_0.0 C/C++ Problem
    first defined in "./SOURCE_FILES/RISC_CPU_FILES/pic.obj"; redefined in "./SOURCE_FILES/systemc_2.2.1/src/sysc/kernel/sc_process.obj" RISC_Demo_EVM66788L_Version_0.0 C/C++ Problem
    first defined in "./SOURCE_FILES/RISC_CPU_FILES/pic.obj"; redefined in "./SOURCE_FILES/systemc_2.2.1/src/sysc/kernel/sc_reset.obj" RISC_Demo_EVM66788L_Version_0.0 C/C++ Problem
    first defined in "./SOURCE_FILES/RISC_CPU_FILES/pic.obj"; redefined in "./SOURCE_FILES/systemc_2.2.1/src/sysc/kernel/sc_sensitive.obj" RISC_Demo_EVM66788L_Version_0.0 C/C++ Problem
    first defined in "./SOURCE_FILES/RISC_CPU_FILES/pic.obj"; redefined in "./SOURCE_FILES/systemc_2.2.1/src/sysc/kernel/sc_simcontext.obj" RISC_Demo_EVM66788L_Version_0.0 C/C++ Problem
    first defined in "./SOURCE_FILES/RISC_CPU_FILES/pic.obj"; redefined in "./SOURCE_FILES/systemc_2.2.1/src/sysc/kernel/sc_thread_process.obj" RISC_Demo_EVM66788L_Version_0.0 C/C++ Problem
    first defined in "./SOURCE_FILES/RISC_CPU_FILES/pic.obj"; redefined in "./SOURCE_FILES/systemc_2.2.1/src/sysc/kernel/sc_time.obj" RISC_Demo_EVM66788L_Version_0.0 C/C++ Problem
    first defined in "./SOURCE_FILES/RISC_CPU_FILES/pic.obj"; redefined in "./SOURCE_FILES/systemc_2.2.1/src/sysc/kernel/sc_wait_cthread.obj" RISC_Demo_EVM66788L_Version_0.0 C/C++ Problem
    first defined in "./SOURCE_FILES/RISC_CPU_FILES/pic.obj"; redefined in "./SOURCE_FILES/systemc_2.2.1/src/sysc/kernel/sc_wait.obj" RISC_Demo_EVM66788L_Version_0.0 C/C++ Problem
    first defined in "./SOURCE_FILES/RISC_CPU_FILES/pic.obj"; redefined in "./SOURCE_FILES/systemc_2.2.1/src/sysc/tracing/sc_trace.obj" RISC_Demo_EVM66788L_Version_0.0 C/C++ Problem
    first defined in "./SOURCE_FILES/RISC_CPU_FILES/pic.obj"; redefined in "./SOURCE_FILES/systemc_2.2.1/src/sysc/tracing/sc_vcd_trace.obj" RISC_Demo_EVM66788L_Version_0.0 C/C++ Problem
    first defined in "./SOURCE_FILES/RISC_CPU_FILES/pic.obj"; redefined in "./SOURCE_FILES/systemc_2.2.1/src/sysc/tracing/sc_wif_trace.obj" RISC_Demo_EVM66788L_Version_0.0 C/C++ Problem
    first defined in "./SOURCE_FILES/RISC_CPU_FILES/pic.obj"; redefined in "./SOURCE_FILES/systemc_2.2.1/src/sysc/utils/sc_report_handler.obj" RISC_Demo_EVM66788L_Version_0.0 C/C++ Problem
    first defined in "./SOURCE_FILES/RISC_CPU_FILES/pic.obj"; redefined in "./SOURCE_FILES/systemc_2.2.1/src/sysc/utils/sc_report.obj" RISC_Demo_EVM66788L_Version_0.0 C/C++ Problem
    first defined in "./SOURCE_FILES/RISC_CPU_FILES/pic.obj"; redefined in "./SOURCE_FILES/systemc_2.2.1/SystemC/os_systemc.obj" RISC_Demo_EVM66788L_Version_0.0 C/C++ Problem

    As you see, it is not clear what is redefined etc. In addition, the map file include some undeffined symbols which are well define. We can see it in the editor when we put the mouse on.

    Best ergards,

    Yehuda

  • This is some kind of capture of the Problems window.  And, unfortunately, not a very useful one.  It seems that all the important parts got cut off.

    Instead, post the contents of the Console window.  The usual copy-n-paste operations should work.  That will show the linker diagnostics in full.

    Thanks and regards,

    -George

  • DEar george, 

     The console message may revealthe project which is confidential. We have an NDA with TI. I would like to pass it via a conversation.

    Best regards,

    Yehuda