Есть библиотека с заголовком App.h
namespace Test
{
int AppStart();
}
И cpp файлом main.cpp
#include "App.h"
extern int Test::AppStart();
int main() {
return Test::AppStart();
}
В другом исполняемом проекте файл App.cpp
#include <App.h>
#include <iostream>
int Test::AppStart()
{
std::cout << "App Start" << std::endl;
return 0;
}
Ошибка: main.obj : error LNK2019: ссылка на неразрешенный внешний символ "int __cdecl Test::AppStart(void)" (?AppStart@Test@@YAHXZ) в функции main
app.cpp? у вас в нем#include <App.h>с угловыми скобками... Потому что как только я это изменил, у меня все нормально скомпилировалось и собралось... – Harry Dec 10 '21 at 05:11App.hдолжны быть include guards. А вотextern int Test::AppStart();быть не должно. – user7860670 Dec 10 '21 at 05:38cl /EHsc main.cpp app.cpp? Еще версия — что при линковкеapp.objон просто не видит, он как-то не так добавлен... – Harry Dec 10 '21 at 07:01