【问题标题】:C++ Code::Blocks making libraries on WindowsC++ Code::Blocks 在 Windows 上创建库
【发布时间】: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


【解决方案1】:

解决了。问题是将文件从“main.c”重命名为“main.cpp”时,Code::Blocks 不会自动更改编译器变量。

这是通过进入 IDE 中的文件属性并将变量从“CC”更改为“CPP”来完成的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-12-12
    • 1970-01-01
    • 2023-04-02
    • 2013-12-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-22
    相关资源
    最近更新 更多