我创建了一个 dll 文件。该文件被编译为 C 代码。我想在新项目中使用这个 dll 文件。这个新项目是一个 C++ 项目。如果我编译我的新项目,一切都很好,但是当项目被编译为 C++ 程序时,它会为从 dll 文件导出的函数提供未解析的外部符号错误。我希望我的新项目是一个 C++ 程序,但想链接一个编译为 C 程序的库。我正在使用 Visual Studio 2010。有什么帮助吗?
最佳答案
另一种方法是更改 C 头文件以检查是否由 cpp 编译器编译并有条件地包含 extern "C":
#ifdef __cplusplus
extern "C" {
#endif
void func1(int a, int b);
//... other functions
#ifdef __cplusplus
}
#endif
关于c++ - 将 C 库与 C++ 链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5707478/