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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.06.2014, 13:11   #1
Mary_fs
 
Регистрация: 05.06.2014
Сообщений: 5
По умолчанию Ошибка при линковке моей DLL

Я создаю DLL, которая отслеживает нажатие определенного сочетания клавиш. В результате мне надо прочитать текст под курсором в документе WORD. Я использую OLE-сервер.
Фрагмент кода моей DLL:
Код:
Variant my_word_app = Variant::GetActiveObject("word.application");
Variant my_doc  = my_word_app.OlePropertyGet("ActiveDocument");
Variant vVarParagraphs = my_doc.OlePropertyGet("Paragraphs");
Variant vVarParagraph = vVarParagraphs.OleFunction("Item", 2) ;
Последняя строка кода приводит к ошибке:
[ilink32 Error] Error: Unresolved external '_assert' referenced from D:\PROGRAM 4\WIN32\DEBUG\OPENFILEDLL.OBJ

Помогите, пожалуйста, разобраться.
Работаю в Embarcadero rad studio XE4

Последний раз редактировалось Mary_fs; 05.06.2014 в 13:13.
Mary_fs вне форума Ответить с цитированием
Старый 05.06.2014, 22:53   #2
kineziz
Форумчанин
 
Регистрация: 22.12.2011
Сообщений: 378
По умолчанию

Ну в ошибке сказано, что нет реализации _assert, т.е. прототип есть, а самого объявления нету. Вы все необходимые lib-файлы подключили в проект?
Большинство хороших программистов делают свою работу не потому, что ожидают оплаты или признания, а потому что получают удовольствие от программирования.
kineziz вне форума Ответить с цитированием
Старый 06.06.2014, 09:52   #3
Mary_fs
 
Регистрация: 05.06.2014
Сообщений: 5
По умолчанию

kineziz, спасибо за ответ). Только я не знаю вообще, откуда взялся _assert. У меня в программе его нет, а в объектном файле он появляется. Не знаю, какую библиотеку подключить.
Все прекрасно компилируется без строчки:
Код:
Variant vVarParagraph = vVarParagraphs.OleFunction("Item", 2) ;
Как только она появляется - ошибка.
Причем другие OleFunction, например OleFunction("Close") идут, а вот параметры ("Item", 2) линковщику не нравятся.

Я так понимаю, это из-за каких-то настроек DLL, которые идут по умолчанию при его создании.
Mary_fs вне форума Ответить с цитированием
Старый 06.06.2014, 14:32   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,830
По умолчанию

Ассерт обычно идет в дебаг версиях, проверьте у вас случаем не смешаны дебаг/релиз версии либ/таргетов?
p51x вне форума Ответить с цитированием
Старый 06.06.2014, 15:29   #5
Mary_fs
 
Регистрация: 05.06.2014
Сообщений: 5
По умолчанию

Я подключаю только стандартные библиотеки и одну свою. Сделала релиз и библиотеки, и проекта. Ничего не помогает.
Знаний не хватает((
Mary_fs вне форума Ответить с цитированием
Старый 06.06.2014, 17:03   #6
Mary_fs
 
Регистрация: 05.06.2014
Сообщений: 5
По умолчанию

Посоветуйте, пожалуйста, поконкретнее, что сделать?
Mary_fs вне форума Ответить с цитированием
Старый 06.06.2014, 17:47   #7
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,830
По умолчанию

Цитата:
[ilink32 Error] Error: Unresolved external '_assert' referenced from D:\PROGRAM 4\WIN32\DEBUG\OPENFILEDLL.OBJ
Говорит, что вы компилите дебаг версию. В ней включаются доп. проверки, в том числе через ассерт. Т.к. он ее не находит скорее всего ваши С/С++ либа релизная или какая-то другая собрана с релиз версией.

Если у вас в релизе, с релизными версиями такое, значит, наоборот, где-то затисалась дебаг версия.
p51x вне форума Ответить с цитированием
Старый 06.06.2014, 21:34   #8
Ибрагимыч
 
Аватар для Ибрагимыч
 
Регистрация: 02.06.2014
Сообщений: 2
По умолчанию

Ну мне кажется что ошибки вообще в этом ремесле неизбежны, их отлаживают наверное..
Ибрагимыч вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибки при линковке: apofioz Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 16 17.02.2014 22:44
Ошибка 503 при обращение с моей программы stasa9711 Работа с сетью в Delphi 2 10.02.2014 12:24
Ошибки при линковке. ТриСемёрки Общие вопросы C/C++ 3 02.09.2010 21:31
MS Visual C++, ошибка при линковке... Пепел Феникса Visual C++ 2 08.09.2009 16:20
Ошибка при линковке Лотос Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 25 22.02.2009 20:24