gpt4 book ai didi

c++ - 如何在 Code::Blocks 中包含一个 "custom"库? (Windows 7的)

转载 作者:行者123 更新时间:2023-11-30 03:52:08 25 4
gpt4 key购买 nike

好的,我以前从未这样做过,而且我在理解它的工作原理时遇到了问题(尤其是“包含”部分)。这是我的代码:

#include <joypp1.02/app.h>
#include <joypp1.02/objects.h>

void event_plot()
{
if (App::event_type() == ALLEGRO_EVENT_DISPLAY_CLOSE)
{
App::shut_down();
}
if (App::event_type() == ALLEGRO_EVENT_KEY_DOWN)
{
if (App::event().keyboard.keycode == ALLEGRO_KEY_ESCAPE)
{
App::shut_down();
}
if (App::event().keyboard.keycode == ALLEGRO_KEY_ENTER)
{
cout << "Whatever! ";
}
}
}

void visual_plot()
{
static Image x("sample.png");
x.draw();
}

int main(int argc, char **argv)
{
App app(800, 600);
app.set_background_color(200, 0, 0);
app.add_event_scene(Scene("Event Plot", event_plot));
app.add_visual_scene(Scene("Visual Plot", visual_plot));
app.run();
return 0;
}

joypp1.02 是我编译的动态链接库,它在它自己的“输出”文件夹中(连同导入文件):

enter image description here

joypp1.02 只有两个头文件:app.h e objects.h。我如何导入它们?该库在链接器中(我想将它保存在库的输出文件夹中,因为它在不断发展。但是,我想将它编译为一个DLL,所以我有一个单独的使用 DLL 的项目)。

enter image description here

joypp1.02.dll所在的文件夹在编译器的搜索目录中。

enter image description here

如果我尝试像这样包含:

#include "joypp1.02.h"

我得到:

fatal error: joypp1.02.h: No such file or directory

所以,我迷路了。如何在 Windows 中的 Code::Blocks 中包含“自定义”库?我怎么知道包含名称?如果它是一个 .a 文件,为什么它是一个像“joypp1.02.h”这样的标题?

免责声明:我使用“自定义”一词来强调它是由我编写和编译的(因此,可能比仅导入一些“官方”和“专业”的问题更多)。

最佳答案

嗯,我已经解决了。我错过了动态链接库的实际功能。我忘记包含头文件(而且我从其他库中记得,事实上,除了 .a 或 .lib 导入库文件和二进制 .dll(s) 之外,我还包含了它们的 .h 文件(我认为它们位于内部导入库文件之类的,并且只需要导入库和.dll))。

所以你,可能来自 future 的读者,面对同样的问题:听我说! 您必须使您的库的头文件对编译器可见(包含在“搜索目录”中,在 Code::Blocks 的编译器选项卡中),同时,链接导入库 .a 或 .lib 文件,并且,如果在链接器选项卡下未指定搜索目录,将 .dll 二进制文件放在应用程序的文件夹中

如果无论如何,您仍然迷路了,请阅读以下内容:

http://wiki.codeblocks.org/index.php?title=FAQ-Compiling_(errors)#Q:_What_do_I_need_to_know_when_using_3rd_party_libs.3F

关于c++ - 如何在 Code::Blocks 中包含一个 "custom"库? (Windows 7的),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30875818/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com