Linker unresolved external symbol for inline function
<p>I'm developing a C++ solution with Visual Studio 2015.</p>

<p>I have a cpp source file and header file hpp with this declaration.</p>

<p>Header:</p>

<pre><code>#ifndef MyLib__FREEFUNCTIONS__INCLUDE__
#define MyLib__FREEFUNCTIONS__INCLUDE__

#include &lt;iostream&gt;
#include &lt;vector&gt;
#include &lt;string&gt;
#include &lt;sstream&gt;

using namespace std;

// Check if 'str' is null, empty or consists only of white-space characters. 
inline bool IsNullOrWhiteSpace(string str);

// More functions
[ ... ]

#endif
</code></pre>

<p>And Source code:</p>

<pre><code>#include "FreeFunctions.h"

inline bool IsNullOrWhiteSpace(string str)
{
    return (str.empty() || (str.find_first_not_of(' ') == string::npos));
}
</code></pre>

<p>I use this function in a class:</p>

<pre><code>#include "ConvertToOwnFormat.h"
#include "FreeFunctions.h"

ConvertToOwnFormat::ConvertToOwnFormat()
{
}


ConvertToOwnFormat::~ConvertToOwnFormat()
{
}

vector&lt;Entry&gt; ConvertToOwnFormat::ReadCatalogue(string path)
{
    if (!IsNullOrWhiteSpace(path)
    {
        [ ... ]
    }
}
</code></pre>

<p>And I get the following error in <code>ConvertToOwnFormat::ReadCatalogue</code>:</p>

<blockquote>
  <p>Error LNK2019 external symbol "bool __cdecl IsNullOrWhiteSpace(class
  std::basic_string,class
  std::allocator >)"
  (?IsNullOrWhiteSpace@@YA_NV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)
  unresolved referenced by the function "public: class std::vector > __cdecl
  ConvertToOwnFormat::ReadCatalogue(class std::basic_string,class std::allocator >)"
  (?ReadCatalogue@ConvertToOwnFormat@@QEAA?AV?$vector@VEntry@@V?$allocator@VEntry@@@std@@@std@@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@3@@Z)   MyProjectLib    D:\Fuentes\Repos\MyProject\MyProjectLibConsoleTest\ConsoleMyProjectLib\Lib.lib(ConvertToOwnFormat.obj)  1</p>
</blockquote>