Qt app链接到FreeImage库 - >使用Qt imageformats插件读取webp图像时崩溃

时间:2018-03-14 20:36:47

标签: qt linker qimage webp freeimage

当应用程序也链接到FreeImage库时,我在使用Qt imageformats插件加载webp图像时遇到问题。它似乎不会影响使用Qt imageformats插件加载的任何其他格式,但每次尝试加载webp图像时,代码都会因为段错而崩溃。

我创建了一个非常简单的测试代码,它由一个简单的CMakeLists.txt和一个main.cpp组成。我在这个测试代码中所做的就是将一个webp图像加载到QImage中并将其保存到主文件夹中的tmp.jpg。它在链接FreeImage库时崩溃,并且在没有时运行正常。

这是CMakeLists.txt:

cmake_minimum_required(VERSION 2.8.12)

project(freeimagetest)

set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)

find_package(Qt5 COMPONENTS Core Gui REQUIRED)
add_executable(${PROJECT_NAME} "main.cpp")
qt5_use_modules(${PROJECT_NAME} Core Gui)

# Comment this line to not link against FreeImage
target_link_libraries(${PROJECT_NAME} "freeimage")

和main.cpp:

#include <QImageReader>
#include <QDir>

int main() {

    QImage ret;

    QImageReader reader;
    reader.setFileName("/path/to/sample.webp");
    reader.read(&ret);

    ret.save(QDir::homePath() + "/tmp.jpg");

    return 0;

}

以下是一个示例网络图片:https://www.gstatic.com/webp/gallery3/1_webp_ll.webp

我不太清楚崩溃发生的原因,或者我可以做些什么来阻止它...我很感激任何帮助,暗示,建议!

0 个答案:

没有答案