【发布时间】:2016-08-19 07:46:01
【问题描述】:
所以我现在在 Windows 10 上使用 Code::Blocks 作为我的 IDE,并且我创建了一个带有一个小功能的小型库。
Code::Blocks 使我成为一个 .a 文件。
然后我做了一个使用该库的小测试项目。在链接器设置中将其添加到我的项目构建选项中,并将其目录添加到我的搜索目录中。太好了。
我可以看到我为库制作的头文件,所以它正在工作。
然后我尝试使用该函数,我得到该函数调用的“未定义引用”。
所以..我会假设 Windows 不了解如何加载带有“.a”扩展名的库?我相信 Windows 使用 .lib 文件,但我不确定我应该如何在 Code::Blocks 中编译 .lib 文件,因为它没有模板。
我对 Code::Blocks 和一般的库制作非常陌生。
【问题讨论】:
-
使用的工具链是什么?也请在这里阅读:stackoverflow.com/questions/24715864/…
-
我相信我正在使用 GNU GCC(我想就是这样)
-
windows 甚至可以使用 .a 文件吗?为什么没有在 Code::Blocks 中创建 .lib 项目的选项?我还查看了该主题,是的,我做了他解释的所有事情,以在我的项目设置中获得一个已链接的库。
-
.a 和 .lib 都不是文件格式。这些是文件扩展名,几乎没有相关性。您需要了解您需要/想要的文件类型。至于“我不确定如何 [...] 在 Code::Blocks 中编译 .lib 文件,因为它没有模板”,请阅读Does Visual Studio Rot the Mind?。
-
啊,不幸的是我似乎无法通过这个未定义的引用。我已经编译了 .a 文件没问题,只要我链接它并尝试使用其中的函数,它就会抛出一个未定义的引用。我肯定在构建选项中添加了它,不知道可能是什么问题。
标签: c++ windows codeblocks libraries