У меня есть 2 статические библиотеки от «vendor1» и «vendor2»:
vendor1.lib
и vendor1.h
; vendor2.lib
и vendor2.h
.
В файле vendor1.h
.Там есть следующее объявление:
double Min();
В файле vendor2.h
.Там есть следующее объявление:
double Min();
В моем клиентском файле:
include "vendor1.h"
include "vendor2.h"
double x = Min();
По умолчанию звонки vendor1.h
.Я попытался ввести пространство имен:
namespace vendor1 {
include "vendor1.h"
}
namespace vendor2 {
include "vendor2.h"
}
При вызове следующей функции
double xx = vendor2::Min();
Я получаю следующие ошибки компоновщика:
Client.cpp 1> Client.obj: ошибка LNK2019: неразрешенный внешний символ «double __cdecl vendor2 :: Min (void)» (? Min @ vendor2 @@ YANXZ), указанный в функции _wmain 1> c: \ temp \ Client \ Debug \ Client.exe:фатальная ошибка LNK1120: 1 неразрешенная внешность
Как это исправить, не создавая обертки для каждой из оберток?