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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.05.2008, 20:28   #1
Khomutov
 
Регистрация: 05.05.2008
Сообщений: 6
По умолчанию Нужно собрать приложение на Visual C (опыта нет, есть исходники)

Имею набор модулей:

Example: '\apps\temp'
Application ................ temp.c
Common Modules ....... temp10.c, findtype.c, owerr.c, ownet.h, crcutil.c
Library Files .............. ds2480.h, ds2480ut.c, owllu.c, ownetu.c, owsesu.c, owtrnu.c
Link File .................... win32lnk.c

которые шли в комплекте к датчику. Нужно собрать работающее exe-приложение (и в дальнейшем попробовать его развить).
Подскажите, как лучше сделать - "малой кровью". Какой пакет Visual C поставить (или можно другой, типа Borland Builder)? В какой конфигурации? Или лучше вообще не связываться, а просить профессионала?

В описании также указано:
Platforms currently supported:
OS ........... Windows 32-bit
Compiler .. Visual C
Library .... userial
Name ....... uWin32VC310

Работаю на компьтерах под WinXp и Vista, но есть и старенькие под Win98. Имеющийся личный опыт - только написание "чайниковских" DOS-приложений (работа с внешними устройствами через порты и с АЦП) на Borland C 2.0. Ниже привожу начало кода из основного модуля temp.c (для представления, с чем имею дело):

// temp.c - Application to find and read the 1-Wire Net
// DS1920/DS1820/DS18S20 - temperature measurement.
//
// This application uses the files from the 'Public Domain'
// 1-Wire Net libraries ('general' and 'userial').
//
//
// Version: 2.00
//

#include <stdlib.h>
#include <stdio.h>
#include "ownet.h"
#include "temp10.h"
#include "findtype.h"

// defines
#define MAXDEVICES 20

// global serial numbers
uchar FamilySN[MAXDEVICES][8];

// variables
int family_code;

//----------------------------------------------------------------------
// Main Test for DS1920/DS1820 temperature measurement
//
int main(int argc, char **argv)
{
float current_temp;
int i = 0;
int NumDevices=0;
int portnum = 0;
...
Khomutov вне форума Ответить с цитированием
Старый 05.05.2008, 20:36   #2
vvviperrr
Тупой студент
Форумчанин
 
Аватар для vvviperrr
 
Регистрация: 12.05.2007
Сообщений: 614
По умолчанию

непонятная тема. нада собрать - собирай. открой в шестой вижле к примеру, свой main файл, создастся dsw файл, потом project - add existing items и выбери все свои файлы. ну а дальше кол во ошибок будет зависеть наверна от того, на чем писалась прога выложил бы исходники чтоль, я попробовал бы
vvviperrr вне форума Ответить с цитированием
Старый 05.05.2008, 21:38   #3
Khomutov
 
Регистрация: 05.05.2008
Сообщений: 6
По умолчанию

Цитата:
Сообщение от vvviperrr Посмотреть сообщение
непонятная тема. нада собрать - собирай. открой в шестой вижле к примеру, свой main файл, создастся dsw файл, потом project - add existing items и выбери все свои файлы. ну а дальше кол во ошибок будет зависеть наверна от того, на чем писалась прога выложил бы исходники чтоль, я попробовал бы
Вопрос был скорее не о том "как собрать", а о том - "чем собрать". У меня не установлен ни один компилятор. Вот и спрашиваю - что лучше установить и в какой конфигурации? Подойдет ли Билдер? Все ли компиляторы будут работать под Вистой? Под XP? И, соответственно, будет ли работать получаемое приложение в ОС Win98, XP, Vista? Нужно ли устанавливать профессиональный вариант или хватит Express? Нужны ли дополнительные библиотеки?

Я пробовал устанавливать Visual Studio 2005 на Vista - при запуске ругалась, сообщала о "Известных проблемах этого продукта при работе с Vista". Пробовал Visual Studio 2008 Team (не специально искал, а из того, что попадалось) - он не захотел даже компилировать temp.c, типа, сделано в старой версии. В итоге - все снес. Думаю над выбором

Исходники прилагаю (немного лишнего поубирал)
Вложения
Тип файла: zip TEMP_APPL.zip (344.8 Кб, 24 просмотров)
Khomutov вне форума Ответить с цитированием
Старый 06.05.2008, 01:34   #4
vvviperrr
Тупой студент
Форумчанин
 
Аватар для vvviperrr
 
Регистрация: 12.05.2007
Сообщений: 614
По умолчанию

да любой компилятор подойдет) мне лично вижла нравится 2008, пробовал собрать, просто так не получится, как я понял надо сначала либу собрать, потом уж прилинковать ее к проекту. да и либо сорсов, либо либы не хватает, т.к из main вызывается функция owLevel, в файле ownet.h только ее описание, самой реализации нет.
но сказать, что сделано в старой версии она не могла) какая разница, где код написал.
vvviperrr вне форума Ответить с цитированием
Старый 06.05.2008, 06:53   #5
Khomutov
 
Регистрация: 05.05.2008
Сообщений: 6
По умолчанию

Цитата:
Сообщение от vvviperrr Посмотреть сообщение
да любой компилятор подойдет) мне лично вижла нравится 2008, пробовал собрать, просто так не получится, как я понял надо сначала либу собрать, потом уж прилинковать ее к проекту. да и либо сорсов, либо либы не хватает, т.к из main вызывается функция owLevel, в файле ownet.h только ее описание, самой реализации нет.
но сказать, что сделано в старой версии она не могла) какая разница, где код написал.
Так поэтому и обратился на форум, что не могу понять, что и как с этим делать - моего небольшого опыта не хватает. По ответам получается, то нужно искать более полный дистрибутив к моему датчику. А собрать можно чем угодно?
Khomutov вне форума Ответить с цитированием
Старый 06.05.2008, 16:04   #6
vvviperrr
Тупой студент
Форумчанин
 
Аватар для vvviperrr
 
Регистрация: 12.05.2007
Сообщений: 614
По умолчанию

конечно, смотря кому что удобнее. я советую студию 2008) и все соберется, главное, чтоб все модули были
vvviperrr вне форума Ответить с цитированием
Старый 12.05.2008, 08:47   #7
Khomutov
 
Регистрация: 05.05.2008
Сообщений: 6
По умолчанию

Цитата:
Сообщение от vvviperrr Посмотреть сообщение
конечно, смотря кому что удобнее. я советую студию 2008) и все соберется, главное, чтоб все модули были
1. Нашел на сайте фирмы-разработчика файл проекта temp.dsp и разложенные по директориям необходимые для него другие файлы.

2. Установил Visual Studio 2008 Team Ed на компьютере с WinXP. Собрал проект, используя в качестве основы проект (DSP) от поставщика исходников (цитирую из файла DSP):

Цитата

# Microsoft Developer Studio Project File - Name="temp" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **

# TARGTYPE "Win32 (x86) Console Application" 0x0103

CFG=temp - Win32 Release


Проблем при сборке не было, но когда запустил полученный EXE-файл на PC с Win98, то получил сообщение, что этот файл требует более новой версии Windows и предложение обновить версию Windows.

3. Установил на ноутбук с Вистой Visual C++ 2005 Express Edition, SP1 к нему и обновление для решения проблем совместимости с Вистой - все с официального сайта MS. Этот же проект собрался без проблем и запустился на Win98.

Вопросы:

1) можно ли в VS2008 собрать проект, работающий на PC с Win98 как консольное приложение? Какие настройки нужно смотреть и править?

2) правильно ли я понимаю, что в VC++ Express будет невозможно делать проект с выводом графиков, например?
Khomutov вне форума Ответить с цитированием
Старый 12.05.2008, 11:08   #8
vvviperrr
Тупой студент
Форумчанин
 
Аватар для vvviperrr
 
Регистрация: 12.05.2007
Сообщений: 614
По умолчанию

1. приложения, собранные на 2008 вижле не запустятся на вин 9х
как это обойти?
Цитата:
Visual C++ 9.0 does not support Windows 9x at all. In fact the only support is for Windows 2000 and above.

But what miserable Windows 9x users should do? Use old versions of VC++? No!!

Investigation:

When you run the compiled executable which uses only msvcrt.dll it doesn’t work because you have message box about unsupported Operating System.

This happens because of linker. Linker from VC++ 9.0 sets minimum Operating System to 5.0 and SubSystem version to 5.0. There /SUBSYSTEM flag does not allow to set the number below 5.0.

The simplest solution is just to patch the executable and change 5.0 to 4.0 J

After that the executable runs smoothly in Windows 98, but not Windows 95.
как видно, после этих инструкций приложение заработает на вин 98, но не на 95) но надеюсь тебе такое не надо)

2. Что конкретно вы имеете ввиду под данным вопросом? кто вам мешает нарисовать на контексте экрана график? или вы имели ввиду разные дот нетовские компоненты?
vvviperrr вне форума Ответить с цитированием
Старый 12.05.2008, 13:32   #9
Khomutov
 
Регистрация: 05.05.2008
Сообщений: 6
По умолчанию

Цитата:
как видно, после этих инструкций приложение заработает на вин 98, но не на 95) но надеюсь тебе такое не надо)
Точно, не надо...
Цитата:
The simplest solution is just to patch the executable and change 5.0 to 4.0 J
Это как? Как то править уже собранный exe-файл? А что именно? Хотя это - не решение. :-(
Цитата:
2. Что конкретно вы имеете ввиду под данным вопросом? кто вам мешает нарисовать на контексте экрана график? или вы имели ввиду разные дот нетовские компоненты?
Следующим этапом (после получения простого консольного приложения с выводом данных в файл и на экран) хотелось бы создать программу в стандартном виндосовском виде и с прорисовкой графиков процесса измерений (текущих измеренных данных). Позволяет ли Express Edition это делать?
Khomutov вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
есть ячейки А, В, С. в ячейку С нужно вывести резултат С=А*В*0,1% А^ександр Microsoft Office Excel 1 18.02.2008 11:12
Есть исходники Digger-а Mole-DiggerVS Gamedev - cоздание игр: Unity, OpenGL, DirectX 6 01.12.2007 19:06
Есть менюшка. Нужно сделать чтобы курсор был самой строкой. Небесный Паскаль, Turbo Pascal, PascalABC.NET 5 03.10.2007 19:46
У кого-нибудь есть исходники для игры Жизнь? Maxpm Gamedev - cоздание игр: Unity, OpenGL, DirectX 3 01.03.2007 13:52