c++ - 将 C 库与 C++ 链接

标签 c++ c dll

我创建了一个 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/

相关文章:

带有 VARIANT/bstrVal 代码的 C++ 泄漏

c - 如何将指针指向的大字符串放入缓冲区

c - scanf在for循环下的工作

客户端在新建立的连接上收不到消息

C++ 访问冲突写入 mql4 中的 dll 中的 0x00000000

c++ - 我应该在哪里分配这个内存?

c# - C++等价物。 C# 的 intQueue.Contains()

c++ - 如何查找指向 IPv6 地址的 SRV 记录

c# - 如何从类库中获取正确的资源

c# - .NET DLL 是静态链接还是动态链接?