Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.04.2012, 01:16   #1
darkblood0202
Начинающий
Пользователь
 
Регистрация: 22.04.2012
Сообщений: 34
По умолчанию Ошибка при подключении библиотеки

Пытаюсь подключить библиотеку libFLAC++.lib к билдеру
сделал implib, присоединил к проекту
Но вылазят ошибки, в таком духе...

помогите разобраться

Код:
[ILINK32 Error] Error: Unresolved external 'FLAC::Encoder::File::File()' referenced from C:\USERS\I\DESKTOP\MY\RELEASE\UNIT1.OBJ
[ILINK32 Error] Error: Unresolved external 'FLAC::Encoder::File::~File()' referenced from C:\USERS\I\DESKTOP\MY\RELEASE\UNIT1.OBJ
[ILINK32 Error] Error: Unresolved external 'FLAC::Encoder::Stream::~Stream()' referenced from C:\USERS\I\DESKTOP\MY\RELEASE\UNIT1.OBJ
[ILINK32 Error] Error: Unresolved external 'FLAC::Encoder::Stream::is_valid() const' referenced from C:\USERS\I\DESKTOP\MY\RELEASE\UNIT1.OBJ
[ILINK32 Error] Error: Unresolved external 'FLAC::Encoder::Stream::set_ogg_serial_number(long)' referenced from C:\USERS\I\DESKTOP\MY\RELEASE\UNIT1.OBJ

[ILINK32 Error] Error: Unresolved external 'OurEncoder::progress_callback(unsigned long long, unsigned long long, unsigned int, unsigned int)' referenced from C:\USERS\I\DESKTOP\MY\RELEASE\UNIT1.OBJ
[ILINK32 Error] Error: Unable to perform link
Всё гениальное - просто!
darkblood0202 вне форума Ответить с цитированием
Старый 22.04.2012, 01:27   #2
Drugnir
Форумчанин
 
Регистрация: 17.11.2010
Сообщений: 262
По умолчанию

Цитата:
1)нужно создать lib файл в Builder'e есть файл implib.exe
делаем так: implib.exe name.lib name.dll
2)включаем в прожект этот lib
3)в свойствах проекта открываем Advanced Linker, выбираем для Delay load "..." находим name.dll, подключаем
4)в теле программы пишем #include "name.h"
А полный путь пробовали указывать?
Drugnir вне форума Ответить с цитированием
Старый 22.04.2012, 01:50   #3
darkblood0202
Начинающий
Пользователь
 
Регистрация: 22.04.2012
Сообщений: 34
По умолчанию

1,2 пункт давно сделаны, даже с префиксом "-а" implib делал
3 сделал - не помогло
4 - как такового, инклуда к либе нету, есть множество разных инклудов, включающие в себя другие

полный путь тоже ничего не дал
Всё гениальное - просто!
darkblood0202 вне форума Ответить с цитированием
Старый 22.04.2012, 01:52   #4
Drugnir
Форумчанин
 
Регистрация: 17.11.2010
Сообщений: 262
По умолчанию

А через Add to project?
Если lib не от borlanda, то там еще надо что-то делать.
Больше не подскажу, не знаю, извините.

Последний раз редактировалось Drugnir; 22.04.2012 в 02:04.
Drugnir вне форума Ответить с цитированием
Старый 22.04.2012, 02:00   #5
darkblood0202
Начинающий
Пользователь
 
Регистрация: 22.04.2012
Сообщений: 34
По умолчанию

lib и так добавлена в проект
в комплекте с либой есть файл .exp (Exports Library File)
Всё гениальное - просто!

Последний раз редактировалось darkblood0202; 22.04.2012 в 02:13.
darkblood0202 вне форума Ответить с цитированием
Старый 23.04.2012, 16:07   #6
Krok27
Форумчанин
 
Аватар для Krok27
 
Регистрация: 08.07.2010
Сообщений: 505
По умолчанию

Надо бы посмотреть, есть ли в созданной либе указанные функции, скорее всего нет или они манглированы. может там имя типа
Код:
FLAC::Encoder::File::File__()
Знающий не говорит, говорящий не знает (С) Лао Цзы
Krok27 вне форума Ответить с цитированием
Старый 24.04.2012, 00:14   #7
darkblood0202
Начинающий
Пользователь
 
Регистрация: 22.04.2012
Сообщений: 34
По умолчанию

функции есть
имена обычные, я по примерам делал
Всё гениальное - просто!
darkblood0202 вне форума Ответить с цитированием
Старый 24.04.2012, 08:43   #8
Krok27
Форумчанин
 
Аватар для Krok27
 
Регистрация: 08.07.2010
Сообщений: 505
По умолчанию

Либу в студию.
Знающий не говорит, говорящий не знает (С) Лао Цзы
Krok27 вне форума Ответить с цитированием
Старый 24.04.2012, 21:56   #9
darkblood0202
Начинающий
Пользователь
 
Регистрация: 22.04.2012
Сообщений: 34
По умолчанию

вот оригиналы всех файлов, идущих с либой
Вложения
Тип файла: zip flac devel.zip (476.8 Кб, 17 просмотров)
Всё гениальное - просто!
darkblood0202 вне форума Ответить с цитированием
Старый 25.04.2012, 10:44   #10
Krok27
Форумчанин
 
Аватар для Krok27
 
Регистрация: 08.07.2010
Сообщений: 505
По умолчанию

Мдя... Конвертация и implib не помогут. Вот как выглядят функции в после implib
Код:
Turbo Dump  Version 6.3.0.0 Copyright (c) 1988-2009 Embarcadero Technologies, Inc.
                 Display of File libflac++_bor.lib

000000 MSLIBR Index begins at file offset 13800. Index is 84 blocks.

000010 THEADR  ??0Application@Metadata@FLAC@@QAE@ABUFLAC__StreamMetadata@@@Z
000052 COMENT  Purge: Yes, List: Yes, Class: 160 (0A0h), SubClass: 1 (01h)
    Dynamic link import (IMPDEF)
      Imported by: name
      Internal Name: ??0Application@Metadata@FLAC@@QAE@ABUFLAC__StreamMetadata@@@Z
      Module Name: libFLAC++.dll
0000A8 COMENT  Purge: Yes, List: Yes, Class: 251 (0FBh), SubClass: 3 (03h)
    Hint:0
0000B1 MODEND
поэтому не компилится. Или вызывать такие имена - ??0Application@Metadata@FLAC@@QAE@A BUFLAC__StreamMetadata@@@Z
или пробовать динамическое связывание. Ну в общем геморно.

Или вариант:
impdef impdef.exe libFLAC++.def libFLAC++.dll
потом править libFLAC++.def
далее
implib.exe libFLAC++_Bor.lib libFLAC++.def

Видимо, проще взять какой нибудь фронт енд и подсовывать ему в командную строку нужные имена и флаги.

p.s.
тут сорцы libFLAC++
Знающий не говорит, говорящий не знает (С) Лао Цзы

Последний раз редактировалось Krok27; 25.04.2012 в 11:43.
Krok27 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
LNK2019 при подключении .h файла (при подключении .cpp все компилится) RomanA Visual C++ 3 16.04.2012 07:47
Ошибка при подключении <MySQL.h> Lokran C/C++ Базы данных 1 01.07.2011 13:35
Ошибка в подключении библиотеки в Delphi Ele Помощь студентам 3 14.05.2010 08:07