У меня на компьютере установлены Abaqus CAE, Visual Studio 2017, компилятор Visual C++. Я пытаюсь сослаться на статические библиотеки Abaqus CAE в моем проекте Visual Studio C++, чтобы прочитать мой файл ODB.
Это файл кода, который я пытаюсь скомпилировать и выполнить:
```
#include "pch.h"
#include <iostream>
#include <odb_API.h>
#include <odb_String.h>
#include <odb_Repository.h>
using namespace std;
int main()
{
cout << "Initializing API"<<endl;
odb_initializeAPI();
odb_String odbFilePath = "C:\\Users\\Dularish\\Desktop\\Temp_Toclear\\Job-1.odb";
try
{
odb_Odb& odb = openOdb(odbFilePath);
odb.close();
}
catch (odb_BaseException& ex)
{
cout << "Exception message : " << ex.UserReport().CStr() << endl;
}
catch (const std::exception& ex)
{
cout << "Default Exception message : " << ex.what() << endl;
}
cout << "Hello World!\n";
odb_finalizeAPI();
return 0;
}
```
Настройки проекта Visual Studio:
Платформа: X64 (я не смогу скомпилировать с X86)
Свойства конфигурации > Каталоги VC++ > Включить каталоги: C:\SIMULIA\Abaqus\6.14-3\code\include;$(IncludePath)
Свойства конфигурации > Каталоги VC++ > Каталоги библиотек: C:\SIMULIA\Abaqus\6.14-3\code\lib;$(LibraryPath)
Свойства конфигурации > Компоновщик > Ввод > Дополнительные зависимости:
ABQDMP_Core.lib; ABQSMAAbuBasicUtils.lib .... и все остальные файлы, находящиеся в каталоге "C:\SIMULIA\Abaqus\6.14-3\code\lib".
С этими настройками я могу скомпилировать его без ошибок, но при выполнении exe-приложения
Я получаю следующую ошибку:
«Точка входа в процедуру ?openOdb@@YAAEAVodb_Odb@@AEBVodb_String@@_N1VSMABasStringMode@@@Z не может быть расположена в библиотеке динамической компоновки ABQSMAOdbApi.dll»
Означает ли это, что мне не хватает статической библиотеки, содержащей метод openOdb?
Я пытаюсь связаться с людьми, которые уже знакомы с Abaqus ODB C++ API, которые могли бы помочь мне в этом.
Спасибо.
Редактировать 1: я не хочу использовать утилиту abaqus make, потому что я хочу создать собственное приложение постобработки на основе платформы .NET. Строки "odb_initializeAPI();" и "odb_finalizeAPI();" это строки, которые следует использовать, если я хочу получить доступ к Abaqus ODB API вне Abaqus CAE. На самом деле я слежу за этой страницей из документации по сценариям "http://130.149.89.49:2080/v2016/books/cmd/default.htm?startat=pt05ch10s07.html"
Другой ресурс, который помог мне использовать этот подход: «https://www.reddit.com/r/fea/comments/8oqx5x/setting_up_abaqus_c_interface/"