Российский производитель и разработчик сертифицированного измерительного оборудования с 1987 года


Модуль E-14-140M, подключение библиотек.

Вы не вошли.

 Поиск | Регистрация | Вход 

Смольный
07.02.2011 11:02:57
#1

Гость

Модуль E-14-140M, подключение библиотек.

Всем привет! Вопрос больше к разработчику...
Купили указанный в теме девайс и пытаемся написать под него виндовое приложение. Заботливо поставляемые разработчиком примеры внимательно смотрели и даже запускали! smile Пример для Borland C++ 5.02 работает, читает два канала и показывает их на мониторе. Но надо сделать виндовое приложение! Скачали с сайта Майкрософта среду Visual C++ 2010 Express, установили и пытаемся настрочить программу. Но описанные в "программер_мануал" команды упорно не признаются компиллятором. ЛИБ-файл подключаем вот так #pragma comment(lib, "lusbapi.lib"). Сами файлы lusbapi.lib и lusbapi.dll нежно и заботливо помещены в папку с проектом. h-файлы находятся в нужных местах и компиллятором видны. Самая засада в том, что пример для Visual C++ 6.02, поставляемый разработчиком, не открывается в версии 2010. Выдаёт кучу истерического крика и злости. smile Вопрос: как узнать, подключилась ли библиотека в работу и корректно ли открывать пример программы версии 6.02 в нашей среде 2010?

07.02.2011 14:52:28
#2

Сотрудник "Л Кард"
Откуда: Москва
Здесь с 23.04.2014
Сообщений: 3,727

Re: Модуль E-14-140M, подключение библиотек.

А на чем Вы  в Express виндовое приложение писать будете? Там же MFC нету, только если чистый API или сторонние средства.. Lib не обязательно подключать - там возможна динамическая загрузка через LoadLibrary и потом вызов одной функции для получения указателя на интерфейс...

07.02.2011 15:20:57
#3

Сотрудник "Л Кард"
Здесь с 18.04.2014
Сообщений: 810

Re: Модуль E-14-140M, подключение библиотек.

Смольный, Ваше описание не лишено литературных достоинств, но лучше было бы подойти к вопросу более технически: например, привести сообщения об ошибках при компиляции.

По идее, если файлы .h нашлись, то проблема может быть действительно на этапе линковки (что-то типа unresolved identifier). Насколько я понимаю, MSVC позволяет добавить .lib файл в проект в свойствах линкера (AdditionalDependencies, AdditionalLibraryDirectories).

Собственно .lib файл берете правильный? В поставке есть для borland и для msvc, у них разные форматы.

Смольный
08.02.2011 07:06:56
#4

Гость

Re: Модуль E-14-140M, подключение библиотек.

Александр Е, lusbapi.lib взяли с прилагаемого диска вот отсюда ...DLL//Lib//MicroSoft. Буду подходить к проблеме более детально. На MSVC никогда проги не писал, а потому, возможно, и возникают у меня подобные моменты. Но С++ знаю на уровне Borland 5.02. Там всё понятно и замечательно. Итак... Созданная нами программа пока ничего не делает, а только пытается искать устройство в портах USB. Проект для MSVC назвали "Visual_ADC". Текст программы пишем на основании автоматически созданного MSVC текста, добавляя туда строки из примера на диске для MicroSoft Visual C++ 6.0. Вот текст файла visual_adc.cpp:


// visual_adc.cpp: главный файл проекта.

#include "stdafx.h"
#include "Form1.h"

using namespace visual_adc;


// версия библиотеки
DWORD DllVersion;


[STAThreadAttribute]
int main(array<System::String ^> ^args)
{
    // Включение визуальных эффектов Windows XP до создания каких-либо элементов управления
    Application::EnableVisualStyles();
    Application::SetCompatibleTextRenderingDefault(false);

    // Создание главного окна и его запуск
    Application::Run(gcnew Form1());
   
       
   
    return 0;
}


А вот текст файла stdafx.h:

// stdafx.cpp: исходный файл, содержащий только стандартные включаемые модули
// visual_adc.pch будет предкомпилированным заголовком
// stdafx.obj будет содержать предварительно откомпилированные сведения о типе

#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <lusbapi.h>
#pragma comment(lib, "lusbapi.lib")

Так вот при вставке строки с описанием переменной DWORD DllVersion; получаем от компиллятора:

visual_adc.cpp(10): error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "DllVersion"
visual_adc.cpp(10): error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
visual_adc.cpp(10): error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию

Как я уже и писал, *.h файлы найдены и вопросов с ними не возникло. А в чём тут проблема? Саму функцию GetDllVersion() ещё не запускали,  а только переменную объявили. Как я понимаю dll к проекту не прикрутилась.

Смольный
08.02.2011 07:16:32
#5

Гость

Re: Модуль E-14-140M, подключение библиотек.

Poul, нам необходимо собственное приложение под винду, которое будет читать два канала с устройства, рисовать на их основе график, архивировать данные. Конечно, в окне должны быть кое-какие кнопочки, настройки и т.д. Разве Visual C++ 2010 Express это не под силу?

08.02.2011 10:19:09
#6

Сотрудник "Л Кард"
Откуда: Москва
Здесь с 23.04.2014
Сообщений: 3,727

Re: Модуль E-14-140M, подключение библиотек.

Давайте вы сначала напишите часть своего приложения на выбранной среде разработки.А уже потом с нашей помощью подключим туда библиотеки для устройства.

08.02.2011 11:08:55
#7

Сотрудник "Л Кард"
Откуда: Москва
Здесь с 23.04.2014
Сообщений: 3,727

Re: Модуль E-14-140M, подключение библиотек.

И желательно без всяких Net технологий CLR и Windows Forms. Или же Вы тогда должны хорошо  понимать как со всем этим работать... правда тогда вопросо по доключению наших библиотек быть не должно, тк подключаются они просто - Win API LoadLibrary выбранной библиотеки и потом вызов CreateInstance для получения указателя на объект и вызов его методов...

08.02.2011 11:46:37
#8

Сотрудник "Л Кард"
Здесь с 18.04.2014
Сообщений: 810

Re: Модуль E-14-140M, подключение библиотек.

Тип DWORD определяется в winapi -
#include <windows.h>

08.02.2011 14:44:42
#9

Сотрудник "Л Кард"
Здесь с 24.04.2014
Сообщений: 1,495

Re: Модуль E-14-140M, подключение библиотек.

Архив с простеньким примером под Visual C++ 2010 Express можно скачать ftp://ftp.lcard.ru/pub/users/temp/test_e140.zip

Смольный
09.02.2011 12:19:30
#10

Гость

Re: Модуль E-14-140M, подключение библиотек.

Сергей, большое спасибо за пример! Пока попробуем его изучить.
Александр Е, и Вам спасибо за #include <windows.h>! smile
В данный момент очень интенсивно вникаем в полученную информацию. О результатах непременно сообщим.

Севада
19.06.2011 22:37:20
#11

Гость

Re: Модуль E-14-140M, подключение библиотек.

Здраствыйте smile
Сергей ваш пример может быт полезень и для меня, но сейчас невозможно скачть его (The webpage at ftp://ftp.lcard.ru/pub/users/temp/test_e140.zip might be temporarily down or it may have moved permanently to a new web address.)
но мне нужно пример с Visual C++ 2008
спасибо заранее smile

20.06.2011 10:39:16
#12

Сотрудник "Л Кард"
Здесь с 24.04.2014
Сообщений: 1,495

Re: Модуль E-14-140M, подключение библиотек.

У меня есть пример только под Visual C++ 2010 Express:
ftp://ftp.lcard.ru/pub/users/e140/test_e140.zip