Linking errors after updating to 1.2.0

After inplace upgrading from 1.1.1 to 1.2.0 I've got a bunch of linking errors like these:

1> libema.lib(ItemCallbackClient.obj) : error LNK2001: unresolved external symbol rsslDecodeArray

What am I doing wrong? VS2017 if this matters (I don't think so).

Best Answer

  • maratu
    Answer ✓

    I figured out how to fix it: it looks like previously ETA libs were linked in the libema.lib, with 1.2.0 release they are separated out and placed under Elektron-SDK1.2.0.win.rrg\Cpp-C\Eta\Libs.

    After specifying them in AdditionalDependencies explicitly (and copying over):

    <AdditionalDependencies>libxml2.lib; librsslVA.lib; librssl.lib; libema.lib; ws2_32.lib; wininet.lib;%(AdditionalDependencies)</AdditionalDependencies>

    Compilation went successful.

    This is something needs to be brought to https://developers.thomsonreuters.com/elektron/elektron-sdk-cc/learning?content=6148&type=learning_material_item as it states that only libema.lib is needed (but I asked it in a separate thread).

Answers

  • Hi @maratu,

    The ESDK 1.2 release has made some changes to some of the libraries that may affect the linking of existing applications. Refer to the Migration Guide within the ESDK C/C++ documentation.

    Also, try to use the new CMake build system to generate the project files for the examples as outlined within the Migration Guide. This will allow you to compare the linking/compiler includes and libs as a comparison to your project build files.