| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C++ Builder > Проблема с подключением Jpeg62.dll |
| Автор: dima1024 17.6.2006, 13:25 |
| Никак не удается подключить библиотеку jpeg62.dll. Хотя lib-файл подлинкован, все равно, при объявлении #include <jpeglib.h> выдает: [Linker Error] Unresolved external '_jpeg_CreateDecompress' referenced from UNIT1.OBJ [Linker Error] Unresolved external '_jpeg_stdio_src' referenced from UNIT1.OBJ [Linker Error] Unresolved external '_jpeg_read_header' referenced from UNIT1.OBJ [Linker Error] Unresolved external '_jpeg_destroy_decompress' referenced from UNIT1.OBJ Создавал и новый lib-файл из dll-ки и брал готовый для builder`а, и вставлял "#ifdef __cplusplus extern "C" { #endif " ... Может кто знает, что не так? Вот листинг. Прога должна выводить инфу о jpg-файле. //--------------------------------------------------------------------------- #include <stdio.h> #include "jpeglib.h" #pragma hdrstop //--------------------------------------------------------------------------- typedef struct struct_img { int width, height, bpp; } struct_img; //--------------------------------------------------------------------------- bool get_jpg_info(const char *filename, struct_img *blank) { FILE * p_file; jpeg_decompress_struct cinfo; if ((p_file = fopen(filename, "rb")) == NULL) { fprintf(stderr, "can't open %s\n", filename); return 0; } jpeg_create_decompress(&cinfo); jpeg_stdio_src(&cinfo, p_file); jpeg_read_header(&cinfo, TRUE); ... jpeg_destroy_decompress(&cinfo); fclose(p_file); return 0; } //--------------------------------------------------------------------------- int main(int argc, char* argv[]) { struct_img temp; if ( get_jpg_info("1.jpg", &temp ) ) printf("Error\n"); else printf("%d,%d,%d\n",temp.width,temp.height,temp.bpp); return 0; } //--------------------------------------------------------------------------- |
| Автор: 586 23.6.2006, 14:17 |
| Как lib делал? А пробовал в начале unit1.cpp после деректив #include написать #pragma comment (lib, "jpeg62.lib") или #pragma link "jpeg62.lib" |
| Автор: dima1024 24.6.2006, 12:01 |
| jpeg62.dll - отличная библиотека, но только в паре с libtiff3.dll и zlib1.dll. libtiff3.dll используется для работы с tiff-файлами, а zlib1.dll - с zip-архивами. Для использования в своей проге только jpeg-файлов сойдет и билдоровский класс TJPEGImage. ... TJPEGImage * examp = new TJPEGImage; examp->LoadFromFile("file.jpg"); ... delete examp; ... Всем спасибо за внимание. Справился своими силами. |