首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >调试使用libtiff的C代码

调试使用libtiff的C代码
EN

Stack Overflow用户
提问于 2018-01-15 19:29:27
回答 1查看 258关注 0票数 2

这些年来,我编写了很多代码,但在linux环境下,我并没有做太多关于C的工作。我也不像我觉得的那么熟悉,我应该和一些工具和实用工具打交道。谢谢你的放纵。

我正在尝试编写一些使用libtiff的C代码。我需要能够逐行调试它,包括酌情遍历libtiff源代码。我使用的代码::块IDE,并配置和工作的基本"hello world“代码,以及一个基本的调用libtiff,以证明概念的目的。一切都在起作用。

这是我的密码:

代码语言:javascript
复制
#include "tiffio.h"
main()
    {
    TIFF* tif = TIFFOpen("test0.tiff", "r");
    if (tif) {
        uint32 imagelength;
        tdata_t buf;
        uint32 row;

        TIFFGetField(tif, TIFFTAG_IMAGELENGTH, &imagelength);
        buf = _TIFFmalloc(TIFFScanlineSize(tif));
        for (row = 0; row < imagelength; row++)
            TIFFReadScanline(tif, buf, row, 0);
        _TIFFfree(buf);
        TIFFClose(tif);
        }
}

通过我上面的代码可以很好地工作。但是,我不能进入任何libtiff函数调用。我目前使用的是ubuntu,使用通过apt安装的默认libtiff。根据我所做的一些阅读,我假设库不是用调试符号构建的,这可能是我的问题的根源。

我假设如果这确实是问题所在,我可以用我需要的选项编译一个定制版本的libtiff,并让Code::Block编译/链接针对它,而不是针对系统默认库。我下载了一份新的libtiff副本,并且熟悉make/make过程,但我不确定如何正确设置编译以满足我的需要。如果能提供一些指导,我将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2018-01-16 00:41:11

通过卸载系统libtiff来解决问题(这不是严格必要的,但对于我来说最容易避免我使用的libtiff版本的任何模糊)。然后按照以下方式配置代码::块(Project->Build选项):

  • 检查生成调试符(-g)
  • 将检查启用常见编译器警告。
  • 其他编译器选项设置为-fPIC
  • 链接器设置->其他链接器选项设置为-ltiff -L
  • 搜索目录->编译器设置为
  • 搜索目录->链接器设置为
  • 在设置中将/home/depaan/amcdev/libtiff0/lib设置为$LD_LIBRARY_PATH环境->环境变量(菜单)

我以前在本地编写了libtiff,按照通常的配置,make,make .使用

代码语言:javascript
复制
./configure --prefix=<desired_libtiff_location>

而CFLAGS设置为"-g“

代码语言:javascript
复制
export CFLAGS="-g"
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48269504

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档