我正在尝试将我的.obj文件转换为.h头文件,但我得到"无法使用"定义(@array)'(也许你应该省略已定义的()?)"警告而不是.h文件已创建.
我试着更换@center到$center或omintting defined()但它创建的.exe文件!
我在某处读到它可能是一个perl版本问题,我的是5.22,我找不到更高版本的尝试.
Update1:
我把"obj2opengl.pl"和"myobject.obj"放在同一个文件夹中.并尝试在控制台(win10)中使用此代码转换它:
c:\obj2openglfolder>obj2opengl.pl myobject.obj
Update2:
这是导致问题的line154代码:
if(defined(@center)) {
$xcen = $center[0];
$ycen = $center[1];
$zcen = $center[2];
}
Run Code Online (Sandbox Code Playgroud)
Update3:
这是整个代码:
# -----------------------------------------------------------------
# Main Program
# -----------------------------------------------------------------
handleArguments();
# derive center coords and scale factor if neither provided nor disabled
unless(defined($scalefac) && defined($xcen)) {
calcSizeAndCenter();
}
if($verbose) {
printInputAndOptions();
}
# TODO check integrity: Does every referenced vertex, normal and coord
exist?
loadData();
normalizeNormals();
if($verbose) {
printStatistics();
}
writeOutput();
# ----------------------------------------------------------------- …Run Code Online (Sandbox Code Playgroud)