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.

TDA3XEVM: TDA3x EVE simulator on Windows, RuntimeLibrary error

Part Number: TDA3XEVM

Hi All.

I have a problem to build EVE simulator.

My Visual Studio version is 2017 and SDK version is PROCESSOR_SDK_RADAR_03_07_00_00.

I did all steps defined in: eve_software_getting_stared.pdf, but while compilation i got the next error:

"algframework.lib(bam_utils.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MDd_DynamicDebug'".

I followed the next suggestion, from forum history, but it doesn't help.

The suggestion is:

"Change Line 156 :
COMPILER_FLAGS += /EHsc /TP /W0 /DHOST_EMULATION /c /nologo /Ox /D_NDEBUG /MT /Gm /Zi /D_HOST_BUILD /D_HAS_ITERATOR_DEBUGGING=0 /D_ITERATOR_DEBUG_LEVEL=0

to

COMPILER_FLAGS += /EHsc /TP /W0 /DHOST_EMULATION /c /nologo /Ox /D_NDEBUG /MD /Gm /Zi /D_HOST_BUILD /D_HAS_ITERATOR_DEBUGGING=0 /D_ITERATOR_DEBUG_LEVEL=0

Change Line 160 :
COMPILER_FLAGS += /EHsc /TP /W0 /DHOST_EMULATION /c /nologo /Od /D_DEBUG /MTd /Gm /Zi /RTC1 /D_HOST_BUILD

to

COMPILER_FLAGS += /EHsc /TP /W0 /DHOST_EMULATION /c /nologo /Od /D_DEBUG /MDd /Gm /Zi /RTC1 /D_HOST_BUILD"

Please help to solve with current issue.

Best regards,

Sergey.

P.S

my make rules files in attachmentMakeRules.zip

  • Hi Sergey,

    did you rebuild the algframework before trying to build eve_sw?

    Regards,

    Yordan

  • Hi Yordan.

    Yes, i rebuild it before building eve_sw.

    Regards,

    Sergey.

  • Hi Sergey,

      EVE's pre built host emulation library are built with a specific version of microsoft visual studio. You should use the same version when you are using EVE's host emulation build. The exact version is documented in EVE's gettingStartedGuide.

    Regards,

    Anshu

  • Hi Sergey,

    You can always rebuild most of the libraries in the eve_sw but as Anshu hinted, there are a couple of libraries that TI ships inside the package that were pre-built using Visual C++ 2012 toolchain and that you cannot rebuild without source files. The libraries are libeveprivkernel.eve.lib_pc.lib and libeveprivnatckernels.eve.lib_pc.lib located in kernels/debug and kernels/release.

    For your convenience, I have rebuilt using Visual C++ 2017 toolchain in both MD and MT flags so you have different versions to pick. Please find them in the attached zip file debug.zip and release.zip .

    debug.zip

    release.zip

    regards,

    Victor

  • Dear Victor.

    Thanks for your answer, it was helpful, but i still get errors.

    Please have a look at attached file.

    Best regards,

    Sergey.

    Errors.txt
    ======== FFT TEST =================
    gmake -C ./test -f makefile
    gmake[3]: Entering directory `W:/PROCESSOR_SDK_RADAR_03_07_00_00/ti_components/algorithms/eve_sw_01_20_00_00/apps/fft/test'
    libevenatckernels.eve.lib_pc.lib(vcop_fft_npt_16ix16o_cn.obj) : error LNK2038: mismatch detected for '_MSC_VER': value '1700' doesn't match value '1900' in eve_profile.obj
    libevenatckernels.eve.lib_pc.lib(vcop_fft_npt_16ix16o_32inter_cn.obj) : error LNK2038: mismatch detected for '_MSC_VER': value '1700' doesn't match value '1900' in eve_profile.obj
    libevenatckernels.eve.lib_pc.lib(vcop_fft_npt_16ix32o_cn.obj) : error LNK2038: mismatch detected for '_MSC_VER': value '1700' doesn't match value '1900' in eve_profile.obj
    MSVCRTD.lib(initializers.obj) : warning LNK4098: defaultlib 'libcmtd.lib' conflicts with use of other libs; use /NODEFAULTLIB:library
    libevenatckernels.eve.lib_pc.lib(vcop_fft_npt_16ix16o_cn.obj) : warning LNK4217: locally defined symbol ??0_Container_base12@std@@QAE@XZ (public: __thiscall std::_Container_base12::_Container_base12(void)) imported in function "public: __thiscall std::_String_val<struct std::_Simple_types<char> >::_String_val<struct std::_Simple_types<char> >(void)" (??0?$_String_val@U?$_Simple_types@D@std@@@std@@QAE@XZ)
    libevenatckernels.eve.lib_pc.lib(vcop_fft_npt_16ix16o_32inter_cn.obj) : warning LNK4217: locally defined symbol ??0_Container_base12@std@@QAE@XZ (public: __thiscall std::_Container_base12::_Container_base12(void)) imported in function "public: __thiscall std::_Wrap_alloc<class std::allocator<char> >::_Wrap_alloc<class std::allocator<char> >(void)" (??0?$_Wrap_alloc@V?$allocator@D@std@@@std@@QAE@XZ)
    libevenatckernels.eve.lib_pc.lib(vcop_fft_npt_16ix32o_cn.obj) : warning LNK4217: locally defined symbol ??0_Container_base12@std@@QAE@XZ (public: __thiscall std::_Container_base12::_Container_base12(void)) imported in function "public: __thiscall std::_String_val<struct std::_Simple_types<char> >::_String_val<struct std::_Simple_types<char> >(void)" (??0?$_String_val@U?$_Simple_types@D@std@@@std@@QAE@XZ)
    libevenatckernels.eve.lib_pc.lib(vcop_fft_npt_16ix16o_cn.obj) : warning LNK4217: locally defined symbol ?_Orphan_all@_Container_base12@std@@QAEXXZ (public: void __thiscall std::_Container_base12::_Orphan_all(void)) imported in function "public: void __thiscall std::_String_alloc<0,struct std::_String_base_types<char,class std::allocator<char> > >::_Free_proxy(void)" (?_Free_proxy@?$_String_alloc@$0A@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEXXZ)
    libevenatckernels.eve.lib_pc.lib(vcop_fft_npt_16ix16o_32inter_cn.obj) : warning LNK4217: locally defined symbol ?_Orphan_all@_Container_base12@std@@QAEXXZ (public: void __thiscall std::_Container_base12::_Orphan_all(void)) imported in function "public: char * __thiscall std::_Wrap_alloc<class std::allocator<char> >::allocate(unsigned int)" (?allocate@?$_Wrap_alloc@V?$allocator@D@std@@@std@@QAEPADI@Z)
    libevenatckernels.eve.lib_pc.lib(vcop_fft_npt_16ix32o_cn.obj) : warning LNK4217: locally defined symbol ?_Orphan_all@_Container_base12@std@@QAEXXZ (public: void __thiscall std::_Container_base12::_Orphan_all(void)) imported in function "public: void __thiscall std::_String_alloc<0,struct std::_String_base_types<char,class std::allocator<char> > >::_Free_proxy(void)" (?_Free_proxy@?$_String_alloc@$0A@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEXXZ)
    libevenatckernels.eve.lib_pc.lib(vcop_fft_npt_16ix16o_cn.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall std::_Container_base12::~_Container_base12(void)" (__imp_??1_Container_base12@std@@QAE@XZ) referenced in function "public: __thiscall std::_String_val<struct std::_Simple_types<char> >::~_String_val<struct std::_Simple_types<char> >(void)" (??1?$_String_val@U?$_Simple_types@D@std@@@std@@QAE@XZ)
    libevenatckernels.eve.lib_pc.lib(vcop_fft_npt_16ix16o_32inter_cn.obj) : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall std::_Container_base12::~_Container_base12(void)" (__imp_??1_Container_base12@std@@QAE@XZ)
    libevenatckernels.eve.lib_pc.lib(vcop_fft_npt_16ix32o_cn.obj) : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall std::_Container_base12::~_Container_base12(void)" (__imp_??1_Container_base12@std@@QAE@XZ)
    libevenatckernels.eve.lib_pc.lib(vcop_fft_npt_16ix16o_cn.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) char const * __cdecl std::_Winerror_map(int)" (__imp_?_Winerror_map@std@@YAPBDH@Z) referenced in function "public: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall std::_System_error_category::message(int)const " (?message@_System_error_category@std@@UBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@H@Z)
    libevenatckernels.eve.lib_pc.lib(vcop_fft_npt_16ix16o_32inter_cn.obj) : error LNK2001: unresolved external symbol "__declspec(dllimport) char const * __cdecl std::_Winerror_map(int)" (__imp_?_Winerror_map@std@@YAPBDH@Z)
    libevenatckernels.eve.lib_pc.lib(vcop_fft_npt_16ix32o_cn.obj) : error LNK2001: unresolved external symbol "__declspec(dllimport) char const * __cdecl std::_Winerror_map(int)" (__imp_?_Winerror_map@std@@YAPBDH@Z)
    .\elf_out\test_eveFFT.eve.out.exe : fatal error LNK1120: 2 unresolved externals
    gmake[3]: *** [outfile] Error 1120
    gmake[3]: Leaving directory `W:/PROCESSOR_SDK_RADAR_03_07_00_00/ti_components/algorithms/eve_sw_01_20_00_00/apps/fft/test'
    gmake[2]: *** [all] Error 2
    gmake[2]: Leaving directory `W:/PROCESSOR_SDK_RADAR_03_07_00_00/ti_components/algorithms/eve_sw_01_20_00_00/apps/fft'
    gmake[1]: *** [all] Error 2
    gmake[1]: Leaving directory `W:/PROCESSOR_SDK_RADAR_03_07_00_00/ti_components/algorithms/eve_sw_01_20_00_00/apps'
    gmake: *** [all] Error 2

  • Hi Sergy,

    it looks like the library libevenatckernels.eve.lib_pc.lib's version is VS 2012. Probably it is the default library shipped with EVE sw. Please do the following:

    gmake

    gmake TARGET_PLATFORM=PC clean

    gmake TARGET_PLATFORM=PC

    The first gmake is to build the EVE_SW for target and make sure that all the header files corresponding to *.k fiels are generated. 

    The second gmake is to clean all the object files corresponding to host emulation. Alternatively you can delete the directory out/PC /

    The third gmake is to rebuilt all the host emulation libraries from scratch. The library libevenatckernels.eve.lib_pc.lib will get rebuilt through this process and the error should disappear.

    regards,

    Victor

  • Hi Victor.

    Thanks for your reply.

    I followed your suggestion, but unfortunately i got the same errors.

    Regards,

    Sergey.

  • Hi Sergey,

    The only reason I can think of is that there still must be a library that is linked with your application which was built with Visual C++ 2012 instead of Visual C++ 2017. I suggest you check every library in the linker paths by using the command:

    dumpbin /rawdata:1 <libraryname.lib> | more

    Generally the following output will start like this:

    RAW DATA #1
    00000000: 20 20 20 2F 46 41 49 4C 49 46 4D 49 53 4D 41 54 /FAILIFMISMAT
    00000010: 43 48 3A 22 5F 4D 53 43 5F 56 45 52 3D 31 39 30 CH:"_MSC_VER=190
    00000020: 30 22 20 2F 46 41 49 4C 49 46 4D 49 53 4D 41 54 0" /FAILIFMISMAT

    Not always though. Some library doesn't start with this header but I guess it means they can be linked with libraries created with any version of the compiler.

    regards,

    Victor

     

  • Hi Segey,

    Also the library I sent you are stamped with _MSC_VER=190. Can you confirm what version you toolchain generates by using dumpbin on any library that you built ?

    regards,

    Victor

  • Dear Victor.

    Sorry for late reply, we have holidays now.

    First of all, many thanks for your effort and help.

    As i mentioned before i got the next error: "libevenatckernels.eve.lib_pc.lib(vcop_fft_npt_16ix16o_cn.obj) : error LNK2038: mismatch detected for '_MSC_VER': value '1700' doesn't match value '1900' in eve_profile.obj"

    So i run your command for libevenatckernels.eve.lib library and i got the next output:

    /FAILIFMISMATCH:"_CRT_STDIO_ISO_WIDE_SPECIFIERS=0"
    /DEFAULTLIB:"MSVCRTD"
    /DEFAULTLIB:"OLDNAMES"

    Second, for your last question, for library you sent libeveprivkernels.eve.lib_pc.lib, we got the next output:

    /FAILIFMISMATCH:"_MSC_VER=1900"
    /FAILIFMISMATCH:"_ITERATOR_DEBUG_LEVEL=2"
    /FAILIFMISMATCH:"RuntimeLibrary=MDd_DynamicDebug"
    /DEFAULTLIB:"msvcprtd"
    /FAILIFMISMATCH:"_CRT_STDIO_ISO_WIDE_SPECIFIERS=0"
    /DEFAULTLIB:"MSVCRTD"
    /DEFAULTLIB:"OLDNAMES"

    What do you think?

    Best regards,

    Sergey.

  • Hi,

    I got the same thing as you for libevenatckernels.eve.lib. Can you try on REL.ALGFRAMEWORK.02.08.00.01\algframework\lib\PC\eve\debug\algframework.lib ?

    regards,

    Victor

  • Hi Victor.

    Sorry for late reply.

    The output of requested command is (for algframework.lib):

    /FAILIFMISMATCH:"_MSC_VER=1900"
    /FAILIFMISMATCH:"_ITERATOR_DEBUG_LEVEL=2"
    /FAILIFMISMATCH:"RuntimeLibrary=MDd_DynamicDebug"
    /DEFAULTLIB:"msvcprtd"
    /FAILIFMISMATCH:"_CRT_STDIO_ISO_WIDE_SPECIFIERS=0"
    /DEFAULTLIB:"MSVCRTD"
    /DEFAULTLIB:"OLDNAMES"

    Regards,

    Sergey.

  • Hi Sergey,

     

    I saw your reply and the version of algframework is good. So I don’t know what could cause the error.

    Note that I am using VS 2017 x86 native tools command prompt for building. There are several other options such as x64_x86 Cross Tools Command Prompt, etc. and they may not be compatible.

    I downloaded the build package for free from:

    https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=BuildTools&rel=16

     

    Please make sure you are using the same tool.

    If you are using the same then may be you share with me all the libraries you use for linking and I can try to reproduce the errors on my side ?

     

    Regards,

     

    Victor

  • Hi Sergey,

    Can you please try to build everything with Visual Studio 12 ? You can download it from Microsoft:

    https://visualstudio.microsoft.com/vs/older-downloads/

    I don’t know why building with Visual Studio 2017 gives us so many problems. But since our original libraries was built with Visual Studio 2012 and everything worked fine for TI, I suggest that you also use this version of the tool.

    regards,

    Victor

  • Hi Sergey,

    I have added the missing libraries libevenatckernels.eve.lib_pc.lib in both debug.zip and release.zip attached.

    regards,

    Victor

    1731.debug.zip

    5672.release.zip

  • Hi Victor.

    Thank you very much, it working now!

    Best regards,

    Sergey.

  • Hi Sergey,

    You are welcome. I am glad it works.

    regards,

    Victor