• Добро пожаловать на Форум пользователей ПО АСКОН. Пожалуйста, авторизуйтесь.
 

Уважаемые пользователи,

Хотим проинформировать вас о режиме работы регистрации на нашем сайте.

Зарегистрироваться возможно в рабочие дни, с 8:00 до 20:00 (мск).

Если у вас возникнут вопросы или потребуется дополнительная информация, не стесняйтесь обращаться к нашей службе поддержки. Вы можете связаться с нами по указанным контактным данным на нашем сайте.

Благодарим вас за понимание и сотрудничество. Мы ценим ваше терпение и стремимся предоставить вам лучший опыт использования нашего сервиса.

С уважением,
Команда Ascon

Компас 13/14, компиляция плагина под x64 c помощью C++Builder XE3

Автор Vigor, 30.12.13, 12:18:06

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Vigor

Да нет... проблему я локализовал. Она не в tlb файлах. Если в пустом проекте x32 не подключать *.h/*.cpp полученные из tlb, а просто подключить KAPI7BC.LIB - то компиляция идет корректно.
Если тоже самое сделать в проекте x64 - то возникает ошибка линковки: Fatal: Invalid object file '...KAPI7BC.LIB'
Проблема именно в том, что KAPI7BC.LIB для x32 и x64 одинаковы

Надеюсь техподдержка аскона прояснит ситуацию


Vigor

17.01.14, 13:13:44 #22 Последнее редактирование: 17.01.14, 14:35:48 от Vigor
В общем, лучше обратиться в техподдержку АСКОНа, они дадут полные инструкции для компиляции.

---
После создания библиотеки и небольшой алхими над проектом компиляция прошла успешно

Дмитрий22

 Вышла уже 15-я версия Компаса, а в папке .....ASCON\KOMPAS-3D V15\SDK\Lib64 так и не появились 64-разрядные файлы

KAPI5BC.LIB и KAPI7BC.LIB

Перестал Аскон любить С++ Builder.

Спасибо, Vigor разобрался, расписал как выйти из положения, потом закрыл сообщение. Ладно, хоть успел скрин экрана сделать, а то опять пришлось бы в тех. поддержку обращаться. На форуме гораздо быстрее...

24.12.14, 19:49:36 #24 Последнее редактирование: 24.12.14, 20:20:07 от Sabahs
Тогда экран в студию.

Дмитрий22

Не знаю, Vigor одобрит или нет, но попробую, Vigor свистни если что, я закрою, все-таки ты раскопал.

1. Используем программку mkexp.exe. Делаем при помощи нее kAPI2D5bc.a из kAPI2D5.dll.
2. Удаляем из дерева подключение kAPI2D5bc.lib,
3. Вставляем в cpp #pragma comment(lib, "kAPI2D5bc")
4.Прописываем в настройках поиск в директориях ...\SDK\lib64
5. Заменяем экспортные функции:
Было:

extern "C" unsigned int far __pascal WINAPI LibraryId()
{
return IDR_LIBID;
}
extern "C" void far __pascal LibraryEntry( UINT comm )

Стало:

extern "C" unsigned int far __export WINAPI LIBRARYID()
{
return IDR_LIBID;
}
extern "C" void far __export WINAPI LIBRARYENTRY( UINT comm )

6. Самое нетривиальное!!!!!!!
Открываем файл проекта в блокноте находим строку
<FrameworkType>None</FrameworkType>
меняем на.....
<FrameworkType>VCL</FrameworkType>

Последнее я бы в жизни не догадался((, а без нее ничего не работает.
+ Благодарностей: 1

StDio

Цитата: Дмитрий22 от 24.12.14, 20:00:22

1. Используем программку mkexp.exe. Делаем при помощи нее kAPI2D5bc.a из kAPI2D5.dll.


Что за программа "mkexp.exe?". Какого приложения?