Вызов глобальной функции, определенной в статической библиотеке, вызывает ошибку компоновщика

Я создал простой проект статической библиотеки и консольный проект Win32 для вызова функции.

// static lib code
// Test.h
void abf();

// Test.cpp
void abf()
{
}

// Caller Project code
// MyTest.cpp
#include "Test.h
int main()
{
abf();
return 0;
}

Статическая библиотека компилируется без ошибок. Но вызывающий проект выдает следующую ошибку.

error LNK2019: unresolved external symbol "void __cdecl abf(void)" (?abf@@YAXXZ) referenced in function _main

Я попробовал несколько вещей, таких как помещение функции в extern блок «C», экспорт с использованием __declspec (dllexport), но ничего не помогло.

Есть идеи?

-1

Решение

Экспортируйте ваши символы, используя __declspec (dllexport) в test.h

extern "C" __declspec(dllexport) void abf(void);
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]