error LNK2001: unresolved external symbol createInferRefitter_INTERNAL

This section of the Deep Learning SDK Documentation is about Refitting an Engine: https://docs.nvidia.com/deeplearning/sdk/tensorrt-developer-guide/index.html#refitting-engine-c.

My source code:
IRefitter* refitterPre = createInferRefitter(*engine, gLogger);

However when building my code it compiles fine, but the linker gives this error:
“error LNK2001: unresolved external symbol createInferRefitter_INTERNAL”

Some investigation shows me:

  • NvInfer.h contains:
    inline IRefitter* createInferRefitter(ICudaEngine& engine, ILogger& logger)
  • However, the function “createInferRefitter_INTERNAL” is missing from both:
    nvinfer.dll (checked using DependencyWalker) and
    nvinfer.lib (checked using dumpbin /all nvinfer.lib | find /i “createInferRefitter” from Visual Studio command prompt)
    for TensorRT version 5.1.2.2 and 5.0.4.3 on Windows.

Why this discrepancy between the documentation+NvInfer.h and the nvinfer.dll/nvinfer.lib?
Is refitting still supported in TensorRT 5.1.2.2 RC (or 5.0.4.3) on Windows?

Thanks in advance!
Arjan

I have the same problem in version 5.1.5.
Wait for solution.