工程檔案
\engine\source\programs\automationtool\automationtool_mono.sln
public static void build(buildcommand command, projectparams params, int workingcl = -1, projectbuildtargets targetmask = projectbuildtargets.all)
log("********** build command started **********");
var ue4build = new ue4build(command);
var agenda = new ue4build.buildagenda();
var crashreportplatforms = new hashset();
// setup editor targets
if (params.haseditortargets && !params.rocket && (targetmask & projectbuildtargets.editor) == projectbuildtargets.editor)
{
編譯工程執行的是這個指令碼,看到了開始時候的那個build command started。
編譯時候可以開啟那個工程檔案,附加到程序,就可以斷點看傳入的引數了。
cmd 到
unrealengine\engine\binaries\dotnet>
目錄下,執行
automationtool.exe -help
linux mac應該是執行 mono automationtools.exe -help
會看到幫助資訊,
automationtool.exe -list
可以列出所有可以用的功能。
analyzethirdpartylibs
blamekeyword
buildcommontools
zipprojectup
buildcookrun
buildplugin
buildthirdpartylibs
codesurgery
fixupredirects
generatedsym
rebuildlightmaps
iphonepackager
launcherlocalization
listmobiledevices
localise
megaxge
testp4_info
gitpullrequest
testfail
testsuccess
testmessage
testrecursion
testrecursionauto
testmaczip
testp4_createchangelist
testp4_strandcheckout
testp4_labeldescription
testp4_clientops
cleanddc
testtestfarm
testarguments
testcombinepaths
testfileutility
testlog
testchangefiletype
testgameperf
testuatbuildproducts
testwatchdogtimer
testosscommands
ubtzeroengineversions
syncsource
generateautomationproject
dumpbranch
debugsleep
testmcpconfigs
testblame
testchanges
testkillall
testcleanformalbuilds
teststopprocess
testthreadedcopyfiles
ue4buildutildummybuildcommand
unrealsynclist
unrealsync
updatelocalversion
testecjoberrorparse
gubp
testtempstorage
執行automationtool.exe -help buildcookrun
可以看到特定命令的幫助資訊。可以自己寫指令碼去buid 或者cook,不用開編輯器了。
檔案位置:
\engine\source\editor\mainframe\private\frame\mainframeactions.cpp
void fmainframeactioncallbacks::createuattask( const fstring& commandline, const ftext& platformdisplayname, const ftext& taskname, const ftext &taskshortname, const fslatebrush* taskicon )
{ // make sure that the uat batch file is in place
#if platform_windows
fstring runuatscriptname = text("runuat.bat");
fstring cmdexe = text("cmd.exe");
#elif platform_linux
fstring runuatscriptname = text("runuat.sh");
fstring cmdexe = text("/bin/bash");
#else
fstring runuatscriptname = text("runuat.command");
fstring cmdexe = text("/bin/sh");
#endif
fstring uatpath = fpaths::convertrelativepathtofull(fpaths::enginedir() / text("build/batchfiles") / runuatscriptname);
fgameprojectgenerationmodule& gameprojectmodule = fmodulemanager::loadmodulechecked(text("gameprojectgeneration"));
這個**就是呼叫runuat的指令碼,然後那個指令碼再呼叫automationtool執行編譯操作,可以在這裡打斷點看看到底打包特定平台時候呼叫了什麼。
虛幻4建立自己的UMG類別
虛幻4建立自己的umg類別 具體來說其實是對上一張九宮格的補充。過載uimage類別。或者其他什麼類別都可以 uclass class api ugamestyle image public uimage 我過載了rebuildwidget 這個函式返回乙個swidget,這個widget可以隨便返...
虛幻4引擎開發的手遊 怎麼使用虛幻4開發遊戲?
謝邀!在職的虛幻四開發人員回答一波。一款比較完整的遊戲是由很多部分組合而成的。而遊戲引擎的作用是把所有的東西整合到一起。簡單來說一款遊戲所用到的資源和軟體如下 左邊為遊戲資源,右邊為所用軟體 人物模型,場景模型 3dmax或者maya,zbrush 人物貼圖 ps,mindtex,3dmax 人物動...
使用buildroot建立自己的交叉編譯工具鏈
1.build tools gcc version 2.95 orany later g version 2.95 orany later python version 2.6or 2.7 2.dependencies packages 下面的自己根據需要安裝 ncurses5 menuconfig...