У меня есть пара методов, объявленных на уровне пространства имен в заголовке для класса:
// MyClass.h
namespace network {
int Method1(double d);
int Method2(double d);
class MyClass
{
//...
}
}
затем определяется в
//MyClass.cpp
int
Method1(double d)
{ ... }
int
Method2(double d)
{ ... }
Этот проект компилируется чисто и является зависимостью для проекта пользовательского интерфейса, который использует MyClass. Эти функции ранее были функциями-членами MyClass, но были перемещены в пространство имен, так как это было более уместно.
Моя проблема в том, что проект пользовательского интерфейса жалуется, когда попадает к компоновщику:
1> network.lib (MyClass.obj): ошибка LNK2001: неразрешенный внешний символ «int __cdecl network :: Method1 (double)» (? INT @ ds @ sim @@ YAHN @ Z) * 1011 *
1> network.lib (MyClass.obj): ошибка LNK2001: неразрешенный внешний символ «int __cdecl network :: Method2 (double)» (? CINT @ ds @ sim @@ YAHN @ Z) * 1013 *
Что я делаю не так?