Пытаюсь собрать проект с VIPS Lib. Подключил следующие .lib.
win32: LIBS += -L$$PWD/../../../../vips-dev-8.4/lib/ -llibvips
INCLUDEPATH += $$PWD/../../../../vips-dev-8.4/include
DEPENDPATH += $$PWD/../../../../vips-dev-8.4/include
win32: LIBS += -L$$PWD/../../../../vips-dev-8.4/lib/ -llibglib-2.0
INCLUDEPATH += $$PWD/../../../../vips-dev-8.4/include/glib-2.0
DEPENDPATH += $$PWD/../../../../vips-dev-8.4/include/glib-2.0
win32: LIBS += -L$$PWD/../../../../vips-dev-8.4/lib/ -llibvips-cpp
INCLUDEPATH += $$PWD/../../../../vips-dev-8.4/include
DEPENDPATH += $$PWD/../../../../vips-dev-8.4/include
win32: LIBS += -L$$PWD/../../../../vips-dev-8.4/lib/ -llibvipsCC
INCLUDEPATH += $$PWD/../../../../vips-dev-8.4/include
DEPENDPATH += $$PWD/../../../../vips-dev-8.4/include
Пытаюсь скомпилить примеры с оффициального сайта (здесь С++ код, но я пробовал и С пример):
#include <QCoreApplication>
#include <vips/vips.h>
#include <vips/vips8>
using namespace vips;
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
GOptionContext *context;
GOptionGroup *main_group;
GError *error = NULL;
if( VIPS_INIT( argv[0] ) )
vips_error_exit( NULL );
context = g_option_context_new( "" );
main_group = g_option_group_new( NULL, NULL, NULL, NULL, NULL );
g_option_context_set_main_group( context, main_group );
g_option_context_add_group( context, vips_get_option_group() );
if( !g_option_context_parse( context, &argc, &argv, &error ) ) {
if( error ) {
fprintf( stderr, "%s\n", error->message );
g_error_free( error );
}
vips_error_exit( NULL );
}
VImage in = VImage::new_from_file( argv[1],
VImage::option()->
set( "access", VIPS_ACCESS_SEQUENTIAL_UNBUFFERED ) );
double avg = in.avg();
printf( "avg = %g\n", avg );
printf( "width = %d\n", in.width() );
VImage out = in.embed( 10, 10, 1000, 1000,
VImage::option()->
set( "extend", "background" )->
set( "background", 128 ) );
out.write_to_file( argv[2] );
vips_shutdown();
return a.exec();
}
Выдает следующие ошибки:
Судя по всему не подцепились какие-то dll. Может быть я забыл подсоединить еще какие-то .lib к проекту? Компилятор: mingw32, ОС:win7 32
UPD: Сделал точь-в-точь как написано в примере на оффициальном сайте:
win32: LIBS += -L$$PWD/../../../../vips-dev-8.4/lib \
-lvipsCC -lvips-cpp -lvips -lgsf-1 -lz -ljpeg -lxml2 -lfftw3 -lm \
-lMagickWand-6.Q16 -llcms2 \
-lopenslide -lpangowin32-1.0 -ltiff -lpng16 -lexif \
-lMagickCore-6.Q16 -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 \
-lgmodule-2.0 -lgthread-2.0 -lglib-2.0 -lintl \
INCLUDEPATH += $$PWD/../../../../vips-dev-8.4/include
INCLUDEPATH += $$PWD/../../../../vips-dev-8.4/include/glib-2.0
INCLUDEPATH += $$PWD/../../../../vips-dev-8.4/include/glib-2.0/include
Однако, ошибка не пропадает...
Не подцепились не dll, а lib-файлы. Исключите "lib" из директивы:
win32: LIBS += -L$$PWD/../../../../vips-dev-8.4/lib/ -lvips
В директивах, подключающих lib-файлы, в названии которых содержится версия, возможно, версию тоже понадобится отбросить.
p.s. Добавление каталога заголовочных файлов в переменную DEPENDPATH
избыточно. Эта переменная считается устаревшей.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Почему код не работает, если вместо 3 вставить число меньше 6И как это можно исправить? Код должен сортировать вектор с помощью функтора std::greater,...
После появления новых возможностей в C++ таких как std::make_shared() и std::make_unique то возникает вопрос : А есть ли хоть один случай, когда действительно...