3 / 3 / 1
Регистрация: 14.02.2012
Сообщений: 82
|
|||||||||||||||||||||
1 | |||||||||||||||||||||
Unresolved External в простом консольном проекте09.04.2012, 12:36. Показов 2225. Ответов 16
Метки нет (Все метки)
Здравствуйте. Решил написать простой консольный проект в RAD Studio 2010 (С++ Builder).
Как видно из кода, используется библиотека libtiff. Пути к папкам include и lib указаны в C++ Options=>Paths and Directories. При компиляции выдает ошибки:
Все используемые функции объявлены в tiffio.h, который билдер точно видит, т.к. не ругается на строчку
Прошу указать на мою ошибку.
0
|
09.04.2012, 12:36 | |
Ответы с готовыми решениями:
16
Непонятные ошибки - unresolved token, unresolved external Unresolved external symbol, unresolved token error LNK2001: unresolved external symbol---fatal error LNK1120: 4 unresolved externals Странный баг в простом консольном приложении С++ |
Модератор
3386 / 2158 / 352
Регистрация: 13.01.2012
Сообщений: 8,375
|
|
09.04.2012, 12:59 | 2 |
консоль без поддержки VCL?
Добавлено через 47 секунд .. по заголовку вроде "с поддержкой", но при создании может галочка не поставлена была. хотя я не знаю как это там в хе
0
|
3 / 3 / 1
Регистрация: 14.02.2012
Сообщений: 82
|
|
09.04.2012, 13:43 [ТС] | 3 |
Галочка была поставлена напротив Console App, или что-то вроде того. vcl.h стоял изначально.
Добавлено через 6 минут Есть ответ на подобный вопрос - сама функция в файле .h не объявлена, или не используется в исходном коде, но в моем случае все объявлено в tiffio.h, вот и не могу разобраться, в чем причина.
0
|
Модератор
3386 / 2158 / 352
Регистрация: 13.01.2012
Сообщений: 8,375
|
|
09.04.2012, 13:49 | 4 |
может что то вроде Add to project/Lib
Добавлено через 38 секунд ...или #define IMPORT или extern "C"... почему же он пишет _имя... Добавлено через 44 секунды ..или может файл C...
0
|
3 / 3 / 1
Регистрация: 14.02.2012
Сообщений: 82
|
|
09.04.2012, 14:15 [ТС] | 5 |
0
|
Модератор
3386 / 2158 / 352
Регистрация: 13.01.2012
Сообщений: 8,375
|
|
09.04.2012, 15:04 | 6 |
я в том смысле - компилер говорит непонятные внешние функции. значит они не подключены. может быть лежат в либе которую нужно подцепить к проекту что бы он мог быть приленкован к длл.
0
|
3 / 3 / 1
Регистрация: 14.02.2012
Сообщений: 82
|
|
09.04.2012, 15:05 [ТС] | 7 |
Но я указал в Options путь к дополнительным библиотекам. И в свойствах проекта эти пути тоже есть.
0
|
Модератор
3386 / 2158 / 352
Регистрация: 13.01.2012
Сообщений: 8,375
|
|
09.04.2012, 15:10 | 8 |
... по поводу дефайна и экстерна - вряд ли это ваш случай. если бы вы линковались с чьей-то самодельной длл она могла потребовать специфических дефайнов перед включением заголовка. при линковке с длл на си мог потребоваться экстерн что бы имена длл начали восприниматься без префиксов _. при межязыковой линковке тоже могли быть танцы с экстерн
Добавлено через 49 секунд либтифф точно лежит в папке либ? попробуйте на всякий случай явно добавить ее в проект Добавлено через 1 минуту у меня к примеру компилер не хотел находит либу в подпапке PSDK - пришлось руками включать
1
|
3 / 3 / 1
Регистрация: 14.02.2012
Сообщений: 82
|
|
09.04.2012, 15:40 [ТС] | 9 |
Я поступил следующим образом: зашел на официальный сайт этой библиотеки, скачал exe-инсталятор. установил в Program Files. Все, на этом инструкции создателей закончились. В настройках среды добавил пути к библиотеке и к инклюдам. Может, неправильно установил, хотя других способов установки особо-то и нет.
0
|
Модератор
3386 / 2158 / 352
Регистрация: 13.01.2012
Сообщений: 8,375
|
|
09.04.2012, 15:56 | 10 |
это длл? попробуйте явно добавить в проект ее lib файл
0
|
3 / 3 / 1
Регистрация: 14.02.2012
Сообщений: 82
|
|
09.04.2012, 16:05 [ТС] | 11 |
Заметил, что в установленной библиотеке имеется файл libtiff.dll.a. Странно. Может стоит подправить расширение.
Расширение нельзя изменить. Расширение ".a" имеют статические библиотеки для Linux. Т.е., archive. Как оно попало в установщик для Windows - загадка. Я так понимаю, с такими библиотеками Билдер не работает.
0
|
Модератор
3386 / 2158 / 352
Регистрация: 13.01.2012
Сообщений: 8,375
|
|
09.04.2012, 16:14 | 12 |
как и обещал проблема вылечилась явным добавлением libtiff-bcc.lib в проект
Добавлено через 30 секунд .a - это не для Борланда Добавлено через 1 минуту попало оно так - это для gcc, например, для Dev-Cpp
1
|
3 / 3 / 1
Регистрация: 14.02.2012
Сообщений: 82
|
|
09.04.2012, 16:17 [ТС] | 13 |
Добавлять надо в Project=> Options=>Directories and Conditionals=>BPI/LIB output, да?
Добавлено через 1 минуту попало оно так - это для gcc, например, для Dev-Cpp[/QUOTE] Ну, это понятно, я просто сначала не обратил внимания. недоработка разрабов.
0
|
Модератор
3386 / 2158 / 352
Регистрация: 13.01.2012
Сообщений: 8,375
|
|
09.04.2012, 16:17 | 14 |
я добавил через Project/Add to project
1
|
3 / 3 / 1
Регистрация: 14.02.2012
Сообщений: 82
|
|
09.04.2012, 16:18 [ТС] | 15 |
Попробую, спасибо.
0
|
Модератор
3386 / 2158 / 352
Регистрация: 13.01.2012
Сообщений: 8,375
|
|
09.04.2012, 16:18 | 16 |
думаю они просто выдают один и тот же архив файлов для всех платформ, просто инсталлер скомпилен для виндовс
1
|
3 / 3 / 1
Регистрация: 14.02.2012
Сообщений: 82
|
|
09.04.2012, 17:29 [ТС] | 17 |
vxg, вот спасибо, помогли! Надо было внимательней книгу читать!!!!
Добавлено через 1 час 9 минут Да, еще для работы программы нужны библиотеки jpeg62.dll, libtiff3.dll и zlin1.dll. Я их скопировал прямо в папку с проектом. Билдер о них ничего не говорит, но вот в мануале о libtiff о них сказано.
0
|
09.04.2012, 17:29 | |
09.04.2012, 17:29 | |
Помогаю со студенческими работами здесь
17
Unresolved external unresolved external Unresolved external Unresolved external Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |