программирую на языке visuаl c 6. Не открывает библиотеку pdi.lib. Говорит что не найден такой- то об'ектный файл
сбой pdi
сбой pdi
15.02.2010 18:54:35 | |
18.02.2010 09:52:01
Доброго всем времени суток. Передо мной так же поставлена задача программирования на PDI для Edgecam. Застопорился даже не написав HellowWorld Может кто-нибудь объяснить назначение утилиты pdimake.exe. Из документации я понял, что она должна использоваться для компиляции и линковки исходников для PDI-программ. Тогда не совсем понятно, зачем использовать Microsoft C++ студии (шестерку или более новый) для написания программ. Неужели только для того, чтобы иметь "продвинутый" редактор кода??? Теперь о проблеме с pdimake. exe. Когда я пытаюсь скопилировать ей файл browse.c (или программу из раздела помощи "Minimum Requirements of PDI Programs") получаю ошибку C:\Program Files\Edgecam\Cam\pdimake>pdimake browse.c Planit Software Limited PDI Applications Maintenance Utility Ver 2010.10.0 Copyright Planit Software Limited Compiler incorrectly installed. INCLUDE not defined! Compiler incorrectly installed. LIB not defined! C:\Program Files\Edgecam\Cam\pdimake> файл исходник browse.c, компилятор, линкер студии MS VS С++ 2008, заголовочные файлы студии и PDI я поместил в один каталог для удобства (опять же, руководствуясь документацией по PDI). Так же пробовал помещать пути к этим файлам в переменную окружения PATH, рузультат был таким же. Кто сталкивался с такой проблемой? Как вы ее решали? PS. Очень надеюсь, что я не единственный счастливчик, которому предстоит ковыряться с PDI Коллеги, давайте объединяться и делиться опытом Изменено: Андрей Притченко - 18.02.2010 09:52:36 | |
19.02.2010 18:10:41
там еще приписка: для того чтобы узнать подробности позвонить по какому-то телефону или зарегистрировать pdi | |
25.02.2010 09:07:25
Прежде всего конвертация DXF в NC код: 1) стыковка примитивов в контур 2) расфасовка контуров по видам 3) Распознавание КТЭ в контурах 4) Определение типов, параметров и количества инструмента, для обработки каждого контура 5) Оптимизация выбранного инструмента 6) Определение последовательности обработки контуров в виде 7) Оптимизация обработки 8) Генерация технологии обработки для СЧПУ 9) Генерация УП 10) Прорисовка обработки Все на автомате, моментально. После нажатия одной кнопки. Требует доводки. Под Edgecam не писал. Изменено: Виктор Турта - 25.02.2010 10:25:21 (с) Турта В. на все публикации | |||||
16.03.2010 12:34:48
и не найдет ))) объектный файл с расширением *.o я, например, получил, но вот получить *.exe так и не получилось. Были предприняты попытки получить exe-шник непосредственно в студиях (6, 2005, 2008) Максимум удалось пройти компиляцию, но вот линкер побороть ни в одной из студий не удалось... студии выдают ошибки при том разные... :я в ступоре: Поэтому эту затею я бросил и перешел непосредственно к pdimake. При работе pdimake, только 6-ку удалось с ним подружить, 2005 и 2008, даже при указании в PATH всех необходимых путей до компилятора и линкера, только 6-ка смогла создать объектный файл, но вот с линкером ничего пока не удается сделать... (не хотят дружить ) P.S. Есть предположение, что конфликт с библиотекой pdi.lib (походу она собрана в 2005 студии, и 6-ка ее не понимает)... короче изыскания продолжаются... | |||
16.03.2010 22:22:58
Продолжение: удалось таки получить объектный файл используя 2005-ю студию и pdimake, но линкер тоже отказался собрать exe-шник проблема такая же как и при использовании 6-ки - не может найти библиотеку с "_pdi_..." непосредственно в студии это решалось обычным подключением pdi.lib в свойствах проекта, но как это сделать используя pdimake, пока не знаю.... Завтра попробую еще одну идейку, если не получиться, то буду уповать на чудо и помощь других.... P.S. народ, не оставайтесь безучастным.... P.S. надеюсь это не сильно похоже на флуд )))) | |
17.03.2010 09:41:27
Очередное продолжение : Вот, чего удалось добиться: СООБЩЕНИЕ ВЫДАВАЕМОЕ ПРИ ИСПОЛЬЗОВАНИИ PDIMAKE+MVS6sp6: ------------------------------------------------------------------------------------------- Planit Software Limited PDI Applications Maintenance Utility Ver 2010.10.0 Copyrigght Planit Software Limited Compiling !.o from !.c !.c Building .. .\cam\pdi\cat-run\!.exe LINK : fatal error LNK1196: invalid or corrupt import object: unknown version Error building executable .. .\cam\pdi\cat-run\!.exe (link.exe) ------------------------------------------------------------------------------------------- В связи с несовместимостью pdi.lib с 6-кой, данный путь не буду рассматривать... Это направление имеет смысл продолжать, если версия EdgeCAM старая (наверное (ИМХО) не старше 12.5) | |
17.03.2010 09:41:37
------------------------------------------------------------------------------------------- СООБЩЕНИЕ ВЫДАВАЕМОЕ ПРИ ИСПОЛЬЗОВАНИИ PDIMAKE+MVS2005sp1: ------------------------------------------------------------------------------------------- Planit Software Limited PDI Applications Maintenance Utility Ver 2010.10.0 Copyrigght Planit Software Limited Compiling !.o from !.c !.c Building error C1007: unrecognized flag '-typedil' in 'p2' LINK : fatal error LNK1257: code generation failed Error building executable .. .\cam\pdi\cat-run\!.exe (link.exe) ------------------------------------------------------------------------------------------- P.S. Такие же сообщения об ошибках выдают и сами студии, если компилировать и собирать exe-шники непосредственно в студиях. Уже прогресс Ах да (упс), забыл сказать, что все делаться для EdgeCAM 2010... | |
18.03.2010 11:01:12
Кратенькое дополнение: для PDIMAKE+MVS2008, те же яйца только в профиль.... такие же проблемы, что и у PDIMAKE+MVS2005, только Building error Продолжение следует... | |
22.03.2010 11:49:19
Вот пример файла для запуска pdi, при установленной MsVS6: ----------------------------------------------------------------------------------- echo on set include=C:\Program Files\Microsoft Visual Studio\VC98\include;C:\Program Files\Microsoft Visual Studio\VC98\mfc\include;C:\Program Files\Microsoft Visual Studio\VC98\atl\include;d:\Program Files\Edgecam 2010.R1\Cam\PDI\Include set lib=C:\Program Files\Microsoft Visual Studio\VC98\lib;C:\Program Files\Microsoft Visual Studio\VC98\mfc\lib;d:\Program Files\Edgecam 2010.R1\Cam\PDI\Lib path=C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin;C:\Program Files\Microsoft Visual Studio\VC98\bin;C:\Program Files\Microsoft Visual Studio\Common\Tools;C:\Program Files\Microsoft Visual Studio\Common\Tools\WinNT;d:\Program Files\Edgecam 2010.R1\Cam pdimake -f !.pmf pause ----------------------------------------------------------------------------------- где C:\Program Files\Microsoft Visual Studio - путь к папке, где устновлена MsVS6, а d:\Program Files\Edgecam 2010.R1 - путь к папке, где устновлен EdgeCAM (в данном пример 2010.R1) | |
22.03.2010 11:50:07
Вот пример файла для запуска pdi, при установленной MsVS2005: ----------------------------------------------------------------------------------- echo on set include=c:\Program Files\Microsoft Visual Studio 8\VC\include;c:\Program Files\Microsoft Visual Studio 8\VC\atlmfc\include;c:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include;c:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\common\include;d:\Program Files\Edgecam 2010.R1\Cam\PDI\Include set lib=c:\Program Files\Microsoft Visual Studio 8\VC\lib;c:\Program Files\Microsoft Visual Studio 8\VC\atlmfc\lib;c:\Program Files\Microsoft Visual Studio 8\VC\atlmfc\lib\i386;c:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib;c:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\common\lib;d:\Program Files\Edgecam 2010.R1\Cam\PDI\Lib path=c:\Program Files\Microsoft Visual Studio 8\VC\bin;c:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\bin;c:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\common\bin;c:\Program Files\Microsoft Visual Studio 8\Common7\Tools\Bin;c:\Program Files\Microsoft Visual Studio 8\Common7\Tools;c:\Program Files\Microsoft Visual Studio 8\Common7\ide;c:\Program Files\Microsoft Visual Studio 8\VC\ce\bin;d:\Program Files\Edgecam 2010.R1\Cam pdimake -f !.pmf pause ----------------------------------------------------------------------------------- где C:\Program Files\Microsoft Visual Studio 8 - путь к папке, где устновлена MsVS2005, а d:\Program Files\Edgecam 2010.R1 - путь к папке, где устновлен EdgeCAM (в данном пример 2010.R1) Изменено: Алексей Шпинев - 22.03.2010 11:50:21 | |
22.03.2010 11:53:40
Файл !.pmf: ----------------------------------------------------------------------------------- -o ! -f !.c -e ! -o ! ----------------------------------------------------------------------------------- где !.с - файл, содержащий код. "-o ! -f !.c" - создаем объектный файл с именем !.o (компилятор) "-e ! -o !" - создаем exe (линкер) | |
22.03.2010 11:56:32
И одно важное условие все файлы: !.с, !.pmf и запускаемый файл должны лежать в папке CAM EdgeCAM и ни как иначе... в противном случае pdimake не найдет pdi.lib | |
23.03.2010 12:25:44
все ключи для запуска компилятора и линкера прописаны в файле pdimake.tof: ---------------------------------------------------------------------------- # Default Tool Option File for PDIMAKE. This file is loaded automatically # when PDIMAKE is executed. WINNT COMP=cl.exe COMP_OPTS=/W4 /MD /c /O2 /nologo /DWIN32 /D_WINDOWS /DNDEBUG LINK=link.exe LINK_OPTS=/SUBSYSTEM:Windows user32.lib kernel32.lib gdi32.lib /NOLOGO /NOD:LIBC.LIB /NOD:LIBCMT.LIB LIB=lib.exe LIB_OPTS=/nologo WINNT DEBUG_WINNT COMP=cl.exe COMP_OPTS=/Zi /W4 /MDd /c /Od /nologo /DWIN32 /D_WINDOWS /D_DEBUG LINK=link.exe LINK_OPTS=/SUBSYSTEM:Windows user32.lib kernel32.lib gdi32.lib /NOLOGO /DEBUG /debugtype:cv /NOD:LIBC.LIB /NOD:LIBCMT.LIB LIB=lib.exe LIB_OPTS=/nologo DEBUG_WINNT | |
28.03.2010 06:41:11
Алексей, Получил ваше письмо. Не могли бы вы написать мне напрямую на адресс agf-ko@inbox.ru, я вам отвечу подробно на все вопросы. Всего доброго, Андрей. | |
29.03.2010 15:16:52
И сразу вопрос: кто-нибудь пытался повторить пройденный мной путь? если да, то поделитесь результатами... | |
29.03.2010 19:33:06
попозже | |
02.04.2010 10:50:26
Наконец-то это свершилось!!!!!!!!!!!!!!! | |
02.04.2010 11:32:02
Рассмотрим весь процесс : Примечание: все проводилось с использованием следующих программных продуктов: Edgecam 2010.R1, Microsoft Visual Studio 2008 SP1 (SP1 обязателен!!!!) 1. в папке .. .\Cam создаем следующие файлы: *.mak - (пример файла " *.cmd - (пример файла " в эту же папку сбрасывается файл *.c (в качестве примера был выбран файл browse.c (я его обозвал !.c ) из папки .. .\Cam\PDI\Src) 2. запускаем *.cmd и смотрим за процессом компиляции... 3. скомпилированный *.exe будет помещен в папку .. .\Cam\PDI\Menu-Run если хотите запускать этот файл в Edgecam (Custom\Run Executable), то перенесите *.exe и *.exe.manifest в папку .. .\Cam\PDI\Cat-Run P.S.: названия файлов могут быть разными, главное сохранить грамматику Всем удачного программирования | |
03.04.2010 00:28:17
Маленькое примечание: Пользователь любой версии Edgecam может определить версию MsVS самостоятельно... Для этого нужно открыть папку .. .\Cam\PDI\Menu-Run\или .. .\Cam\PDI\Cat-Run\ и любым просмоторщиком открыть файл *.exe.manifest? там содержится информация о версии MsVS, в частности для Edgecam 2010.R1 можно увидеть следующую строчку: <assemblyIdentity type="win32" name="Microsoft.VC90.CRT" version="9.0.21022.8" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b" /> Как видно студия - Microsoft.VC90.CRT версия 9.0.21022.8, а это MsVS2008... | ||||