1. 说明
1)PhysX版本为4.1
SDK版本对cmake和python的版本要求:ReadMe Windows
2)cmake版本为3.22
3)python版本为2.7.14
4)visual studio版本为VS2019
5)此文章为自己编译的一次简单记录。
参考1:PhysX 物理引擎研究(一)源码编译_linshuhe1的专栏-CSDN博客_physx物理引擎
参考2:PhysX 4.0 项目生成和编译_dl0618的博客-CSDN博客
2. PhysX SDK项目生成
1)进入PhysX SDK路径:PhysX-4.1\physx
双击运行脚本文件 generate_projects.bat
注:
1-1)若安装了cmake而提示cmake is missing,则需要添加cmake的环境变量
如:编译环境变量 > 新建 > C:\Program Files\CMake\bin
1-2)若未安装python会给出提示:"python is missing...",安装即可,若已安装,
则添加python的环境变量
2)cmake和python都已安装,且已配置好环境变量
双击运行脚本文件 generate_projects.bat 则如下:
2-1)输入13,敲回车
正确运行之后,命令窗口会自动退出
2-2)工程生成成功
在 physx/compiler
目录下会多出一个 vc16win64
的目录:
3. PhysX SDK项目编译
1)双击解决方案PhysXSDK.sln,会使用visual studio打开项目
2)打开项目后,右键 解决方案 > 生成解决方案
3)编译报错
4)因为源码中的 demo 依赖 DirectX SDK ,解决步骤如下:
4-1)下载DirectX SDK :
Download DirectX Software Development Kit from Official Microsoft Download Center
4-2)双击安装,报错如下:
4-3)原因分析:
DirectX 安装过程中会顺便安装 Microsoft Visual C++ 2010 x86 Redistributable -
1010.0.30319
组件,而电脑中已经存在比此版本更高的 C++ Redistributable
4-4)解决方案:(详见-参考1)
依次选择“开始” > “设置” > “应用” > “应用和功能”,卸载相关组件。
只需要先卸载 Microsoft Visual C++ 2010 x86 Redistributable - 1010.0.40219 即可,
包括 x64 和 x86。然后,再重新安装 DirectX 。
其实回退版本影响并不大,当然,假如还希望安装被卸载掉的 C++ 组件,可以从
Microsoft Visual C++ 2010 Service Pack 1 Redistributable Package MFC Security
Update 下载安装
4-5)再次安装 DirectX SDK,安装成功
4-6)分别对报错的模块添加附加包含目录和附加库目录
注意使用分号分隔
C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Include;
和
C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Lib\x64;
步骤如下:
4-6-1)右键 > 属性
4-6-2)添加附加库目录需要在 配置属性 > 常规 下把配置类型改成动态库
然后在 配置属性 > 链接器 > 常规 添加附加库目录,如下:
4-7)重新生成解决方案,仍然报错(未定义的引用)
把 配置属性 > 常规 下把配置类型改回静态库
重新生成解决方案,编译通过
(未验证是否应该操作4-6-2的步骤)
4. 运行示例
PhysX-4.1\physx\bin\win.x86_64.vc142.mt\debug
路径下运行.exe文件