安装/理解c ++库时出现问题(新手程序员)

时间:2017-01-25 12:17:14

标签: c++ codeblocks libraries cimg

我刚开始学习编程,我在程序中添加库(除了STD库)时遇到了麻烦。 我使用codeblocks IDE,我想从互联网上添加一个库CImg。

在阅读了很多线程之后,我已经完成了以下步骤,但是我仍然在加载CImg人员提供的一个示例时出错

  1. 已下载的Cimg文件夹,其中包含Cimg.h文件以及其他示例文件。
  2. 将文件夹解压缩到E盘。
  3. 打开代码块>编译器设置(gnu gcc编译器)>搜索库
  4. 在搜索库下我有编译器选项卡和链接器选项卡,其中我添加了下载文件夹的路径。
  5. 接下来当我打开开发人员提供的示例时,构建并运行它。
  6. cimg.h文件打开,我收到以下错误:

    ||=== Build file: "no target" in "no project" (compiler: unknown) ===|
    E:\programming\cpp programming\CImg-2.0.0_pre012317\CImg.h||In function 'int cimg_library::cimg::fseek(FILE*, INT_PTR, int)':|
    E:\programming\cpp programming\CImg-2.0.0_pre012317\CImg.h|5617|error: '_fseeki64' was not declared in this scope|
    E:\programming\cpp programming\CImg-2.0.0_pre012317\CImg.h||In function 'INT_PTR cimg_library::cimg::ftell(FILE*)':|
    E:\programming\cpp programming\CImg-2.0.0_pre012317\CImg.h|5626|error: '_ftelli64' was not declared in this scope|
    ||=== Build failed: 2 error(s), 0 warning(s) (0 minute(s), 10 second(s)) ===|
    

    请帮助我,也请向我解释我在做什么,因为我不知道。

    编辑:正如我在评论中指出的那样,我已将编译器更改为TDM-GCC MinGW 64位编译器。 但现在我得到了一种不同类型的错误,是因为我没有正确安装编译器,因为我可以使用这个编译器运行hello world。 我得到的错误是:

      

    || === Build:hello中的Debug(编译器:GNU GCC编译器)=== |   obj \ Debug \ main.o ||函数cimg_library::CImgDisplay::paint()':| E:\programming\cpp programming\hello\..\CImg-2.0.0_pre012317\CImg.h|9696|undefined reference to __ imp_SetDIBitsToDevice' |   ||错误:ld返回1退出状态|   || ===构建失败:2个错误,0个警告(0分钟,0秒(秒))=== |

1 个答案:

答案 0 :(得分:0)

最后,我发现了我的错误以及如何纠正错误。

  1. 我使用的是32位编译器,所以我切换到64位编译器。
  2. 之后我没有链接gdi32库。因此,当我进入链接器设置并将gdi32添加到链接库时,evrything开始工作。
  3. 感谢您帮助我。