【发布时间】:2013-06-08 03:34:38
【问题描述】:
我有这个静态(.a/.lib) 库,我想将它绑定到我的动态(.dll) 中。
假设静态库是libColors.a,动态库是SWC.dll。
现在我已经更改了 libColors.a 项目属性以创建一个静态库——构建它——我还没有找到任何 .dll 创建,只有预期的 .o 和 .a 文件。我切换到我的SWC.dll 项目并更改其属性以创建一个动态库并选中该框以创建一个 .a 文件——链接libColors.a——构建它——然后创建 .dll 文件。 (另请注意,我将__declspec(import/export) 规范放在其classes 上)
现在我希望这个SWC.dll 在可执行文件中使用。但是,当我在可执行文件中仅包含 SWC.h 文件时,它会获得大量未定义的引用。似乎这里有问题,因为我没有在SWC.h 上调用任何函数。所以,我在我的 .exe 构建选项中添加了SWC.a,现在它构建没有错误。但是当我运行它时,它说我需要Colors.dll?我错过了什么?
【问题讨论】:
标签: c++ codeblocks static-linking