VS2019构建Physx4.1版本Samples问题

一、构建环境

1、physx4.1版本提交记录

Revision: c3d5537bdebd6f5cd82fcaf87474b838fe6fd5fa
Author: Ayoub Belarbi <abelarbi@nvidia.com>
Date: 2021/4/23 19:50:42
Message:
Update PhysX_4.1.2.29882248

2、操作系统


win10

3、VS版本

VS2019社区版

4、执行构建脚本的输出

执行physx\generate_projects.bat,出现构建环境选择界面
tsecer@harry: .\generate_projects.bat

tsecer@harry: exit /b 0
Python 3.9.2
Preset parameter required, available presets:
(0) android-arm64-v8a <--- Android-19, arm64-v8a PhysX SDK
(1) android <--- Android-19, armeabi-v7a with NEON PhysX SDK
(2) vc12win32 <--- VC12 Win32 PhysX general settings
(3) vc12win64 <--- VC12 Win64 PhysX general settings
(4) vc14win32 <--- VC14 Win32 PhysX general settings
(5) vc14win64 <--- VC14 Win64 PhysX general settings
(6) vc15uwp32 <--- VC15 UWP 32bit PhysX general settings
(7) vc15uwp64 <--- VC15 UWP 64bit PhysX general settings
(8) vc15uwparm32 <--- VC15 UWP 32bit PhysX general settings
(9) vc15uwparm64 <--- VC15 UWP ARM 64bit PhysX general settings
(10) vc15win32 <--- VC15 Win32 PhysX general settings
(11) vc15win64 <--- VC15 Win64 PhysX general settings
(12) vc16win32 <--- VC16 Win32 PhysX general settings
(13) vc16win64 <--- VC16 Win64 PhysX general settings
Enter preset number:
选择13并回车(vc16对应vs2019开发环境)。

二、更新/确认DX的版本

从测试来看,构建需要dxsdk_jun10版本(可以搜索并安装该SDK),缺省安装路径为C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)
这里需要说明的是,如果只是用比这个版本低的dxsdk_mar09版本编译Samples工程会有编译错误,该SDK默认安装位置是 C:\Program Files (x86)\Microsoft DirectX SDK (March 2009)
编译通过之后,运行samples工程可能会有断言错误,我是卸载了dxsdk_mar09之后可以正确运行。
右键点击桌面上"此电脑"=>高级系统设置=>高级=>环境变量=>
确认DXSDK_DIR变量的值为C:\Program Files (x86)\Microsoft DirectX SDK (March 2009)\

三、PhysX是如何识别有哪些预制的

physx\buildtools\cmake_generate_projects.py脚本扫描physx\buildtools\presets\public文件夹下所有xml文件,根据文件名进行匹配。文件名中包含有winPresetFilter变量中的任意一个,都认为是windows平台的,并出现在阈值中
def filterPreset(presetName):
winPresetFilter = ['win','uwp','ps4','switch','xboxone','android','crosscompile','xboxseriesx']
if sys.platform == 'win32':
if any(presetName.find(elem) != -1 for elem in winPresetFilter):
return True
else:
if all(presetName.find(elem) == -1 for elem in winPresetFilter):
return True
return False
当前包含的xml文件包括
tsecer@harry: dir /-T

2020/06/18 20:48 <DIR> .
2020/06/18 20:48 <DIR> ..
2020/06/18 20:48 779 android-arm64-v8a.xml
2020/06/18 20:48 788 android.xml
2020/06/18 20:48 843 ios64.xml
2020/06/18 20:48 599 linux-aarch64.xml
2020/06/18 20:48 666 linux.xml
2020/06/18 20:48 848 mac64.xml
2020/06/18 20:48 1,007 vc12win32.xml
2020/06/18 20:48 998 vc12win64.xml
2020/06/18 20:48 998 vc14win32.xml
2020/06/18 20:48 998 vc14win64.xml
2020/06/18 20:48 595 vc15uwp32.xml
2020/06/18 20:48 595 vc15uwp64.xml
2020/06/18 20:48 604 vc15uwparm32.xml
2020/06/18 20:48 608 vc15uwparm64.xml
2020/06/18 20:48 998 vc15win32.xml
2020/06/18 20:48 998 vc15win64.xml
2020/06/18 20:48 998 vc16win32.xml
2020/06/18 20:48 998 vc16win64.xml
18 个文件 14,918 字节
2 个目录 759,836,672 可用字节

tsecer@harry:

posted on 2021-08-18 19:51  tsecer  阅读(419)  评论(0编辑  收藏  举报

导航