Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Подключение дллки, созданной с помощью mfc

5.1K
27 июня 2009 года
Karrde
88 / / 15.10.2007
можно ли в при работе с .Net Framework подключать длл-ки, созданный в mfc? а то при попытке вызова функций длл-ки выпадают такие ошибки:
Цитата:
testdll2.obj : error LNK2028: unresolved token (0A000015) "int __clrcall TempoSetModel(char const *)" (?TempoSetModel@@$$FYMHPBD@Z) referenced in function "private: void __clrcall testdll2::Form1::button4_Click(class System::Object ^,class System::EventArgs ^)" (?button4_Click@Form1@testdll2@@$$FA$AAMXP$AAVObject@System@@P$AAVEventArgs@4@@Z)



Цитата:

testdll2.obj : error LNK2019: unresolved external symbol "int __clrcall TempoSetModel(char const *)" (?TempoSetModel@@$$FYMHPBD@Z) referenced in function "private: void __clrcall testdll2::Form1::button4_Click(class System::Object ^,class System::EventArgs ^)" (?button4_Click@Form1@testdll2@@$$FA$AAMXP$AAVObject@System@@P$AAVEventArgs@4@@Z)

5
27 июня 2009 года
hardcase
4.5K / / 09.08.2005
Цитата: Karrde
можно ли в при работе с .Net Framework подключать длл-ки, созданный в mfc?

А как вы их подключаете?

5.1K
27 июня 2009 года
Karrde
88 / / 15.10.2007
Цитата:
#include "Tempo.h"
#pragma comment(lib, "Tempo.lib")



и в папку с программой копирую соответствующие .lib, .dll и .h

5
27 июня 2009 года
hardcase
4.5K / / 09.08.2005
Цитата: Karrde
и в папку с программой копирую соответствующие .lib, .dll и .h

Это все очень здорово конечно, но что за .NET язык, каков прототип функций в DLL и как вы их написали на вашем .NET языке. Об этом нужно догадываться?

5.1K
27 июня 2009 года
Karrde
88 / / 15.10.2007
извините. пишу на visual c++.
Ну и просто в длл их объявляю и реализовываю.
Цитата:
TEMPO_API int TempoCreateModel(LPCSTR szFileNameWav, LPCSTR szFileNameModel);


Не совсем понял, что ещё нужно указать))

341
27 июня 2009 года
Der Meister
874 / / 21.12.2007
А почему __clrcall? Макра TEMPO_API разворачивается как?
5.1K
27 июня 2009 года
Karrde
88 / / 15.10.2007
Простите. но я не совсем понял вопросы((
341
28 июня 2009 года
Der Meister
874 / / 21.12.2007
Приведите код макроса TEMPO_API.
В сообщении об ошибке копоновщик указывает на отсутствие функции соглашением о вызове __clrcall. Оно применяется к управляемым методам. В свою очередь, управляемые методы могут быть только в управляемых типах данных, глобальные функции С++ управляемыми быть, какбэ, не могут. Вопрос: откуда компилятор взял, что для TempoSetModel требуется управляемый вызов? Должно быть что-нибудь типа __cdecl или __stdcall. С другой стороны, нативная либа с __clrcall просто не скомпилируется.
Так-то unresolved external symbol может означать три вещи: либо не пристыкован lib-файл, либо не совпадают прототипы функций в h-файлах, либо библиотека просто не экспортирует требуемую функцию.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог