【问题标题】:LIBTIFF not able to work with C++ projectLIBTIFF 无法使用 C++ 项目
【发布时间】:2012-12-20 18:25:02
【问题描述】:

Libtiff 是一个 C 库,但我想将它与 Qt Creator 中的 C++ 项目一起使用。有谁知道如何做到这一点?当我尝试使用 C 库时出现编译时错误,所以我不确定该怎么做。

我得到的编译时错误是:

c:\libtiff\libtiff\tiff.h:69:错误:C4430:缺少类型说明符 - 假定为 int。注意:C++ 不支持 default-int

对于线路: typedef TIFF_INT8_T int8;

加上一堆更相似的错误。有人请帮忙。

【问题讨论】:

  • 与其尝试将 libtiff 编译为 C++,不如将其编译为 C,并将其链接到您的 C++ 代码。
  • 不完全确定如何做到这一点。你能指导我完成它吗?
  • 您需要配置 libtiff 以使用与您正在使用的 C++ 编译器匹配的 C 编译器在 Windows 上构建。您必须使用 C 编译器来构建 libTIFF。要使用 libTIFF,您可以使用 C++ 或 C 编译器。

标签: c++ libtiff


【解决方案1】:

您需要将包含语句包装在 extern C 块上 --

extern "C"{
#include "tiff.h"
}

这告诉编译器将这些文件视为 C,而不是 C++,因此您不应出现严格的 C++ 错误。

【讨论】:

  • 是因为Qt Creator中没有C编译器吗?
  • 不确定 Qt Creator,一般来说只是 C/C++。这也可能是您的 tiffconf.h 中的问题。你自己安装和编译 libtiff 吗?它可能没有为您的系统正确配置,特别是 HAVE_INT8/16/32 #defs
  • 我什至没有编译它。我只是将它解压缩到一个文件夹中并在我的 Qt 项目文件中设置包含路径。我如何“编译”一个库?
猜你喜欢
  • 2019-06-06
  • 1970-01-01
  • 2012-04-19
  • 2021-09-20
  • 2011-01-18
  • 2018-05-10
  • 2017-10-08
  • 2016-12-12
  • 1970-01-01
相关资源
最近更新 更多