Войти
ПрограммированиеФорумФизика

#pragma comment(lib,"PhysXLoader.lib")

Страницы: 1 2 Следующая »
#0
9:01, 7 апр. 2009

Кто нибудь интегрировал PhysX SDK в Borland C++Builder 6?

Перенес все "h" , "cpp" и "lib" в борландовские дириктории. Подключил #include "NxPhysics.h" - сразуже посыпались ошибки компиляции из-за не совместимости, вроде исправил, но теперь Линкер сообщае непонятную ошибку:

 
  [Linker Error] 'C:\PROGRAM FILES (X86)\BORLAND\CBUILDER6\LIB\PHYSXLOADER.LIB' contains invalid OMF record, type 0x21 (possibly COFF)

Вот весь код:

 
  //---------------------------------------------------------------------------
  #include <vcl.h>
  #pragma hdrstop

  #include "Unit1.h"
  #pragma package(smart_init)
  #pragma resource "*.dfm"
  TForm1 *Form1;


  #include "NxPhysics.h"
  #pragma comment(lib,"PhysXLoader.lib")

  static NxPhysicsSDK*  gPhysicsSDK = NULL;
  static NxScene*  gScene = NULL;

  //---------------------------------------------------------------------------
  __fastcall TForm1::TForm1(TComponent* Owner)
      : TForm(Owner)
  {
  }
  //---------------------------------------------------------------------------
  void __fastcall TForm1::Button1Click(TObject *Sender)
  {
    NxPhysicsSDKDesc desc;
    gPhysicsSDK = NxCreatePhysicsSDK(NX_PHYSICS_SDK_VERSION, NULL, 0, desc, 0);
  }
  //---------------------------------------------------------------------------

Есть ли пример CB6+PhysX (хотя бы только инициализация)?  На VS8 все работает, но там нет Дизайнера Фром :(


#1
9:35, 7 апр. 2009

nik5723
Не будет работать, только через враппер...

#2
10:39, 7 апр. 2009

nik5723
Что же тут непонятного:
> contains invalid OMF record, type 0x21 (possibly COFF)
либы в Физикса в формате COFF а билдер использует формат OMF.

#3
15:28, 7 апр. 2009

nik5723
Executor
А если coff2omf, не?

#4
16:20, 7 апр. 2009

nik5723
А MFC-дизайнер форм не катит?

#5
16:56, 7 апр. 2009

Blew_zc
>nik5723
>Executor
>А если coff2omf, не?

Фз, не пробывал... Думаю не поможет...

#6
17:03, 7 апр. 2009

Попробуй, заодно расскажешь. Должно помочь.

#7
18:26, 7 апр. 2009

Если уж народ парился-парился, да к gcc прикрутить не мог, то уж к билдеру и подавно не прекрутится...

#8
18:42, 7 апр. 2009

>А если coff2omf, не?
главное действительно рабочую версию надо найти :) может тогда что и получится...
Не знаю как к 6-ке, а к 5-ке прилагалась кривая утилита.

#9
20:44, 7 апр. 2009

reFORMATor
вот блин всегда думал что vs-тудиях нет форм дизайнеров, а тут покопался среди вариантов проектов по твоему замечанию и нашёл! СПАСибо.

#10
21:57, 7 апр. 2009

Executor
А я ведь тоже на гцц пишу... Что, к нему вообще никак? Можно ж тоже либу сделать или на худой конец самому написать импорт из длл... Там ведь интерфейсы, не?

#11
4:45, 8 апр. 2009

Blew_zc
>Executor
>А я ведь тоже на гцц пишу... Что, к нему вообще никак? Можно ж тоже либу
>сделать или на худой конец самому написать импорт из длл... Там ведь
>интерфейсы, не?

Попробуй, может будешь первый кто сделает... :)
Интерфейсы? Всмысле КОМ? Неа...
Вот если исходники ФизХа на руках есть, то там можно скомпилить, ибо под Линукс там либы gccшные...

Прошло более 1 года
#12
21:32, 12 мар. 2011

Так у кого нибудь получилось прикрутить PhysX к Builder ?

#13
21:41, 12 мар. 2011

У меня получилось скомпилировать прогу...

void CphysX::InitNx()
{
    gPhysicsSDK = NxCreatePhysicsSDK(NX_PHYSICS_SDK_VERSION);
  if (!gPhysicsSDK)
    {
      MessageBoxA(0, "PhysX НЕ работает!", "ERROR", MB_OK|MB_ICONEXCLAMATION);
      return;
    }

/*gPhysicsSDK->setParameter(NX_SKIN_WIDTH, 0.25f);

  gPhysicsSDK->setParameter(NX_VISUALIZATION_SCALE, 1); // äëÿ âû÷èñëåíèÿ òîëùèíû ïîâåðõíîñòåé
  gPhysicsSDK->setParameter(NX_VISUALIZE_COLLISION_SHAPES, 1);
  gPhysicsSDK->setParameter(NX_VISUALIZE_ACTOR_AXES, 1);
  gPhysicsSDK->setParameter(NX_VISUALIZE_COLLISION_FNORMALS, 1);

  gPhysicsSDK->setParameter(NX_VISUALIZE_CONTACT_POINT, 1);
  gPhysicsSDK->setParameter(NX_VISUALIZE_CONTACT_NORMAL, 1);
*/

    NxSceneDesc sceneDesc;    // Create the scene
    sceneDesc.simType  = NX_SIMULATION_HW;
    sceneDesc.gravity  = gDefaultGravity;
   sceneDesc.userContactReport     = &gContactReport;

    gScene = gPhysicsSDK->createScene(sceneDesc); // To create the SDK object

  // Create the default material
/*  NxMaterial* defaultMaterial = gScene->getMaterialFromIndex(0);
  defaultMaterial->setRestitution(0.5);
  defaultMaterial->setStaticFriction(0.5);
  defaultMaterial->setDynamicFriction(0.5);
*/

  UpdateTime(); // Get the current time #include "UpdateTime.h"
    if (gScene)  StartPhysics(); // Start the first frame of the simulation

}

NxCreatePhysicsSDK  выполняется успешно, но доходя до функций которые в коментариях,  прога выдаёт ошибку:

"Access violation at addres 06E01444 in modele 'PhysXCore.dll'. Read of address 3A3A4B44'.

Класс изначально был написан на Visual С++, и работал.

#14
1:38, 28 мар. 2011

пользуй родную для винды среду разработки и не партся:)

Страницы: 1 2 Следующая »
ПрограммированиеФорумФизика

Тема в архиве.