Как мне вызвать функцию C++ из C, не получив ошибки связывания? [дубликат] ⇐ C++
-
Гость
Как мне вызвать функцию C++ из C, не получив ошибки связывания? [дубликат]
Я пытаюсь добавить функциональность библиотеки C++ в код, написанный на C. Я компилирую библиотеку C++ как DLL, но что бы я ни делал, получаю ошибку Link 2019:
ошибка LNK2019: неразрешенный внешний символ __imp__TestFunction, на который ссылается функция _Test В настоящее время рассматриваемые файлы выглядят следующим образом:
test.h
#ifdef _EXPORTING #define CLASS_DECLSPEC __declspec(dllexport) #еще #define CLASS_DECLSPEC __declspec(dllimport) #endif #ifdef __cplusplus внешний "С" { #endif CLASS_DECLSPEC int TestFunction (int test); #ifdef __cplusplus } // внешний "C" #endif test.cpp
#include "test.h" extern "C" __declspec(dllexport) int TestFunction(int test) { возврат 1 — тест; }
Я пытаюсь добавить функциональность библиотеки C++ в код, написанный на C. Я компилирую библиотеку C++ как DLL, но что бы я ни делал, получаю ошибку Link 2019:
ошибка LNK2019: неразрешенный внешний символ __imp__TestFunction, на который ссылается функция _Test В настоящее время рассматриваемые файлы выглядят следующим образом:
test.h
#ifdef _EXPORTING #define CLASS_DECLSPEC __declspec(dllexport) #еще #define CLASS_DECLSPEC __declspec(dllimport) #endif #ifdef __cplusplus внешний "С" { #endif CLASS_DECLSPEC int TestFunction (int test); #ifdef __cplusplus } // внешний "C" #endif test.cpp
#include "test.h" extern "C" __declspec(dllexport) int TestFunction(int test) { возврат 1 — тест; }
Мобильная версия