c++ - 为什么dll不能在c++中使用?

标签 c++ dll

这个答案指出:

Failed to link mysql5.1.39\bin\libmySQL.dll

但我不明白为什么,.dll本质上与.lib相同,除了它只有一个拷贝被不同的进程使用。

和IDE有什么关系吗?我用的是Visual C++ 2008 Express

更新

有人知道在 Windows 中将 .dll 转换为 .lib 的免费工具吗?

最佳答案

你有两个错误。首先,DLL 和 LIB(静态库)是非常不同的东西。你所说的LIB(我认为)是导出库,它只是DLL中的名称列表。该库通常在编译 DLL 时生成,并且如果 DLL 打算由其他开发人员链接到,则与 DLL 一起提供。

要在现代 IDE 中使用 DLL(我不使用 VS),您通常在项目中包含匹配的 .LIB(导出库)。在运行时,您必须确保 DLL 对您的程序可用 - 最简单的方法是将 DLL 放在与可执行文件相同的目录中。

其次,DLL 可以与 C++ 一起使用。

关于c++ - 为什么dll不能在c++中使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2532537/

相关文章:

python - 安装Python3.6版本的Boost-Python3

c++ - 在完美图中寻找最大团

c++ - 动态链接库C++

c++ - 如何确定 lib "references"是哪个 dll?

java - Java 中的 OpenCV,为什么我不能使用 Mat.CvType.CV_8UC1?

c++ - 为什么 gcov 将类内函数定义报告为不可执行?

c++ - 在 c++ .h 文件中定义和声明函数/方法

c++ - 在rapidjson中解析数组内的对象

c++ - 返回迭代器是 DLL 安全的吗?

c++ - 无法使用 dyn.load windows 7 64bit 在 R 中加载 dll 文件