Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.61/272: Рейтинг темы: голосов - 272, средняя оценка - 4.61
 Аватар для yurembo
10 / 10 / 5
Регистрация: 04.07.2009
Сообщений: 112

Подключить *.lib в проект

05.04.2011, 22:57. Показов 57084. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Есть программа, в нее нужно подключить некие библиотеки SinusDLL.lib и mclmcrrt.lib.
Подключаю следующим способом:

C++
1
2
3
4
#include "SinusDLL.h"
#include "mclmcrrt.h"
#pragma comment (lib, "mclmcrrt.lib")
#pragma comment (lib, "SinusDLL.lib")
но, при использовании процедур из этих библиотек вылетают ошибки:

C++
1
2
3
4
5
6
7
8
9
10
11
void CMySinusDlg::OnBnClickedOk()
{
    // TODO: Add your control notification handler code here
    OnOK();
 
    SinusDLLInitialize();   //Инициализация библиотеки
    int z=1;               //Инициализируем переменную
    mwArray zz(0);        //Создаем объект mwArray
    sinus(z,zz);         //Вычисляем синус. (zz - выходной параметр)
    sinWPTerminate();   //Очистка памяти после работы библиотеки
}
Code
1
2
3
4
5
6
7
8
9
10
11
12
Compiling...
MySinusDlg.cpp
c:\documents and settings\admin\мои документы\matlab\sinus\mysinus\mysinus\mysinusdlg.cpp(158) : error C3861: 'SinusDLLInitialize': identifier not found
c:\documents and settings\admin\мои документы\matlab\sinus\mysinus\mysinus\mysinusdlg.cpp(160) : error C2065: 'mwArray' : undeclared identifier
c:\documents and settings\admin\мои документы\matlab\sinus\mysinus\mysinus\mysinusdlg.cpp(160) : error C2146: syntax error : missing ';' before identifier 'zz'
c:\documents and settings\admin\мои документы\matlab\sinus\mysinus\mysinus\mysinusdlg.cpp(160) : error C3861: 'zz': identifier not found
c:\documents and settings\admin\мои документы\matlab\sinus\mysinus\mysinus\mysinusdlg.cpp(161) : error C2065: 'zz' : undeclared identifier
c:\documents and settings\admin\мои документы\matlab\sinus\mysinus\mysinus\mysinusdlg.cpp(161) : error C3861: 'sinus': identifier not found
c:\documents and settings\admin\мои документы\matlab\sinus\mysinus\mysinus\mysinusdlg.cpp(162) : error C3861: 'sinWPTerminate': identifier not found
Build log was saved at "file://c:\Documents and Settings\Admin\Мои документы\MATLAB\sinus\MySinus\MySinus\Debug\BuildLog.htm"
MySinus - 7 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
может что-то упускаю???
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.04.2011, 22:57
Ответы с готовыми решениями:

Как подключить dll, lib к проекту?
Здравствуйте! Раньше никогда этим не занимался, и длл и либ файлы не мои. Надо подключить к проекту что бы пропали ошибки ...

Как мне подключить статическую lib
Visual Studio 2008. Я создал статическую lib-библиотеку. Она компилируется. Теперь я в приложении хочу подключить ее и вызвать функцию....

VC++ 2010 как подключить внешнюю lib ?
Не пойму как ЭТО делать в 10й версии.

15
0 / 0 / 0
Регистрация: 05.04.2011
Сообщений: 3
05.04.2011, 23:41
Подключи .h файл от этой библиотеки. Компилятор не знает, что это за функции и гже их брать. Или вызывай функции динамически.
0
 Аватар для yurembo
10 / 10 / 5
Регистрация: 04.07.2009
Сообщений: 112
05.04.2011, 23:54  [ТС]
Цитата Сообщение от Adre Посмотреть сообщение
Подключи .h файл от этой библиотеки
подключаю:

Цитата Сообщение от yurembo Посмотреть сообщение
#include "SinusDLL.h" #include "mclmcrrt.h"
0
0 / 0 / 0
Регистрация: 05.04.2011
Сообщений: 3
05.04.2011, 23:57
в коде dll указал, что это экспортируемые функции?
0
 Аватар для yurembo
10 / 10 / 5
Регистрация: 04.07.2009
Сообщений: 112
06.04.2011, 00:03  [ТС]
Цитата Сообщение от Adre Посмотреть сообщение
в коде dll указал, что это экспортируемые функции?
вот, например, в хидере SinusDLL.h есть:

C++
1
2
3
...
extern LIB_SinusDLL_C_API 
bool MW_CALL_CONV SinusDLLInitialize(void);
0
 Аватар для Aye Aye
373 / 287 / 97
Регистрация: 17.12.2009
Сообщений: 567
06.04.2011, 02:34
библиотеки не динамические, а статические, судя по расширениям SinusDLL.lib и mclmcrrt.lib. Надо добавить к сборке ключи:
-lSinusDLL и -lmclmcrrt при этом в переменной PATH должны быть пути к этим библиотекам. Хотя толком не помню как это в винде.
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
06.04.2011, 10:53
yurembo, а ты при создании dll-ок не накосячил???
Выложи код, хотябы одной библиотеки для анализа!

Вот часть кода из моей DLL
C++
1
2
3
4
5
6
7
#ifdef __cplusplus 
#define EXPORT extern "C" __declspec (dllexport) 
#else 
#define EXPORT __declspec (dllexport) 
#endif 
 
EXPORT BOOL SetHook(void); // объявляем экспортируемую функцию
и екзешника который эту DLL подгружает

C++
1
2
3
4
5
6
7
8
9
#ifdef __cplusplus
#define IMPORT extern "C" __declspec (dllimport) 
#else
#define IMPORT __declspec (dllimport)
#endif
 
#pragma comment(lib,"hook.lib") 
 
IMPORT BOOL SetHook(void);     // функция импортируемая из DLL
0
 Аватар для yurembo
10 / 10 / 5
Регистрация: 04.07.2009
Сообщений: 112
06.04.2011, 17:08  [ТС]
DLL-ка из матлаба, разве что компания Mathworks накосячила))

Добавлено через 48 минут
проблема решена!
она заключалась в моем незнании что, почему-то,
C++
1
2
3
4
#include "SinusDLL.h"
#include "mclmcrrt.h"
#pragma comment (lib, "mclmcrrt.lib")
#pragma comment (lib, "SinusDLL.lib")
нужно было прописать в основном спп, а я прописал в stdafx.срр
не понимаю почему нельзя в stdafx.срр ....
0
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
07.04.2011, 13:56
yurembo, потому что это разные файлы
0
9 / 9 / 0
Регистрация: 05.04.2011
Сообщений: 67
07.04.2011, 14:01
а не проще кликнуть Project-->Add to project..выбираете нужный вам файл.....и ваулля....все подключено=)
0
 Аватар для yurembo
10 / 10 / 5
Регистрация: 04.07.2009
Сообщений: 112
07.04.2011, 14:39  [ТС]
Цитата Сообщение от Uxxzz Посмотреть сообщение
а не проще кликнуть Project-->Add to project..выбираете нужный вам файл.....и ваулля....все подключено=)
нет, так не работает=)
0
9 / 9 / 0
Регистрация: 05.04.2011
Сообщений: 67
07.04.2011, 20:14
Цитата Сообщение от yurembo Посмотреть сообщение
нет, так не работает=)
а файл с расширением .dll в корень к проекту копировали???
0
 Аватар для yurembo
10 / 10 / 5
Регистрация: 04.07.2009
Сообщений: 112
07.04.2011, 22:11  [ТС]
Цитата Сообщение от Uxxzz Посмотреть сообщение
а файл с расширением .dll в корень к проекту копировали???
да, копировал) но это уже не имеет значения так как уже решено
0
9 / 9 / 0
Регистрация: 05.04.2011
Сообщений: 67
07.04.2011, 22:35
Цитата Сообщение от yurembo Посмотреть сообщение
да, копировал) но это уже не имеет значения так как уже решено
так в чем была проблема?????
0
 Аватар для yurembo
10 / 10 / 5
Регистрация: 04.07.2009
Сообщений: 112
08.04.2011, 00:39  [ТС]
вот, выше написал:
Цитата Сообщение от yurembo Посмотреть сообщение
проблема решена!
она заключалась в моем незнании что, почему-то,

C++
1
2
3
4
#include "SinusDLL.h"
#include "mclmcrrt.h"
#pragma comment (lib, "mclmcrrt.lib")
#pragma comment (lib, "SinusDLL.lib")
нужно было прописать в основном спп, а я прописал в stdafx.срр
не понимаю почему нельзя в stdafx.срр ....
0
krivenkoz
30.06.2012, 16:45
Уважаемый yurembo!

Удалось ли решить проблему подключения dll,lib и h файлов,генерируемых Матлабом?

Если да, приведите,плиз, исходный код подключения в головном С-файле (из которого идет вызов нужных функций).

Бьюсь который день, не работает

С ув.,Сергей
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.06.2012, 16:45
Помогаю со студенческими работами здесь

В VS 2005 не могу подключить нестандартную библиотеку *.lib
Купил USB плату для работы с ISA картами и тестирующее ПО к ней. В ране созданный, работающий свой проект в VS 2005 с интегрированным RTX...

Добавление Include-директории и Lib-директории в проект VS2010
Здравствуйте. У меня возникла следующая проблема: Решил поучится в использовании библиотек DirectX в MS Visual Studio 2010 DirectX...

За что отвечает d3d9.lib и d3dx9.lib?
В чём разница?

Как скомпилировать проект, когда появляется такая ошибка: "Где взять LNK1104 не удается открыть файл “icmp.lib”"?
Здравствуйте! Как скомпилировать проект, когда появляется такая ошибка: "Где взять LNK1104 не удается открыть файл “icmp.lib”"? Из...

В каком SDK находятся библиотечные файлы Urlmon.lib winmm.lib
В каком SDK находятся библиотечные файлы Urlmon.lib winmm.lib? Я предполагал что в Direct SDK(у меня DirectX SDK 2006), однако там не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru