这些年来,我编写了很多代码,但在linux环境下,我并没有做太多关于C的工作。我也不像我觉得的那么熟悉,我应该和一些工具和实用工具打交道。谢谢你的放纵。
我正在尝试编写一些使用libtiff的C代码。我需要能够逐行调试它,包括酌情遍历libtiff源代码。我使用的代码::块IDE,并配置和工作的基本"hello world“代码,以及一个基本的调用libtiff,以证明概念的目的。一切都在起作用。
这是我的密码:
#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过程,但我不确定如何正确设置编译以满足我的需要。如果能提供一些指导,我将不胜感激。
发布于 2018-01-16 00:41:11
通过卸载系统libtiff来解决问题(这不是严格必要的,但对于我来说最容易避免我使用的libtiff版本的任何模糊)。然后按照以下方式配置代码::块(Project->Build选项):
我以前在本地编写了libtiff,按照通常的配置,make,make .使用
./configure --prefix=<desired_libtiff_location>而CFLAGS设置为"-g“
export CFLAGS="-g"https://stackoverflow.com/questions/48269504
复制相似问题