Dear Cerberus X User!
As we prepare to transition the forum ownership from Mike to Phil (TripleHead GmbH), we need your explicit consent to transfer your user data in accordance with our amended Terms and Rules in order to be compliant with data protection laws.
Please read the new Terms and Rules below, check the box to agree, and click "Accept" to continue enjoying your Cerberus X Forum experience. The deadline for consent is April 5, 2024.
Do not accept the amended Terms and Rules if you do not wish your personal data to be transferred to the future forum owner!
Accepting ensures:
- Continued access to your account with a short break for the actual transfer.
- Retention of your data under the same terms.
Without consent:
- You don't have further access to your forum user account.
- Your account and personal data will be deleted after April 5, 2024.
- Public posts remain, but usernames indicating real identity will be anonymized. If you disagree with a fictitious name you have the option to contact us so we can find a name that is acceptable to you.
We hope to keep you in our community and see you on the forum soon!
All the best
Your Cerberus X Team
Unlike Mr S. I start there first.Please don't forget the documentation.
Artists say that no great work is ever truly ever finished. So when I'm close to perfection I will let you know.Let me know at what point you think you're "done" to merge your changes
'***** Xcode *****
Method MakeXcode:Void()
CreateDataDir "xcode/data"
Local main:=LoadString( "main.cpp" )
main=ReplaceBlock( main,"TRANSCODE",transCode )
main=ReplaceBlock( main,"CONFIG",Config() )
SaveString main,"main.cpp"
If tcc.opt_build
Execute "make -f "+tcc._libs+"/src/Makefile OS=MacOS"
Local ccopts:="", ldopts:="", libsopts:="-lglfwgame ", libsearch:="", includes:="", libsearchStack:StringStack, includesStack:StringStack
Local appName:=GetConfigVar( "GLFW_APP_NAME" )
If appName = "" appName=QuoteMe("CerberusGame") Else appName=QuoteMe(appName)
' Apple path search parameters are different than the usual -L and -I options
' All paths need to be quoted, as white space is considered to signify the next option
' e.g. LIBRARY_SEARCH_PATHS="PATH!" "PATH2" "PATH3"
' The most important for Cerberus are: OTHER_CFLAGS, LIBRARY_SEARCH_PATHS
libsearchStack = New StringStack(GetConfigVar( "GLFW_XCODE_LIB_PATHS" ).Split(";"))
libsearchStack.Push("staticlibs/macos")
libsearchStack.Push("shared/macos")
' Fix the quotes
For Local i:= Eachin libsearchStack
If i<> ""
If FileType( i ) = FILETYPE_DIR ' The directory exists that the user has passesd
libsearch+=QuoteMe( i )+" "
Elseif FileType( tcc._libs+"/"+i ) = FILETYPE_DIR ' The directory didn't exist, so check the applications library store
libsearch+=QuoteMe( tcc._libs+"/"+i )+" "
Endif
Endif
Next
includesStack = New StringStack(GetConfigVar( "GLFW_XCODE_INCLUDES" ).Split(";"))
includesStack.Push("src/glfwgame/glfw3/include")
includesStack.Push("src/glfwgame/stb")
' Fix the quotes
For Local i:= Eachin includesStack
If i<>""
If FileType( i ) = FILETYPE_DIR
includes+= "-I"+QuoteMe( i )+" "
Elseif FileType(tcc._libs+"/"+i) = FILETYPE_DIR
includes+= "-I"+QuoteMe( tcc._libs+"/"+i )+" "
Endif
Endif
Next
ccopts+=GetConfigVar( "GLFW_XCODE_CC_OPTS" ).Replace( ";"," " )
ldopts+=GetConfigVar( "GLFW_XCODE_LD_OPTS" ).Replace( ";"," " )
libsopts+=GetConfigVar( "GLFW_XCODE_LIBS_OPTS" ).Replace( ";"," " )
ccopts+=" "+includes
ChangeDir "xcode"
' Execute "set -o pipefail && xcodebuild -configuration "+casedConfig+" | egrep -A 5 ~q(error|warning):~q"
Local params:="OTHER_CFLAGS='"+ccopts+"' LIBRARY_SEARCH_PATHS='"+libsearch+"' OTHER_LDFLAGS='"+ldopts+" "+libsopts+"' PRODUCT_NAME="+appName
Execute "xcodebuild -configuration "+casedConfig+" "+params
If tcc.opt_run
ChangeDir "build/"+casedConfig
ChangeDir(StripQuotes(appName)+".app/Contents/MacOS")
Execute "./"+appName
Endif
Endif
End
@Martin: Before you build for shipping, the to Windows dynamic libraries are OpenAL Soft, and as far as I am aware the licence they are under is compatible with the zlib/libpng licence. I've update the home page docs to mention that OpenAl Soft is used for Windows and renamed one of the files in the libs directory.
The I have not update the zlib/libpnpg licence, which may also require this information added to it.
Exception calling "ExtractToDirectory" with "2" argument(s): "Could not find a part of the path
'C:\WINDOWS\system32\archives\shared_libs_win.zip'."
At D:\blitz_research\cerberus_git\cerberus\src\rebuildall.ps1:104 char:5
+ [System.IO.Compression.ZipFile]::ExtractToDirectory($zipFile,$dst ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : DirectoryNotFoundException
Building transcc
Please wait
Building launcher
makedocs
TRANS cerberus compiler V2017-11-09 alpha
Parsing...
Semanting...
Translating...
Building...
building cserver
TRANS cerberus compiler V2017-11-09 alpha
Parsing...
Semanting...
Translating...
Building...
"This is not a 64 bit operating system"
64 BIT
gcc -m64 -O3 -DNDEBUG -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Release64/context.o ../glfw3/src/context.c
../glfw3/src/context.c:1:0: sorry, unimplemented: 64-bit mode not compiled in
//========================================================================
Makefile:95: recipe for target 'build/Release64/context.o' failed
mingw32-make: *** [build/Release64/context.o] Error 1
TRANS FAILED: Error executing 'mingw32-make CCOPTS=" -m64 -O3 -DNDEBUG" LDOPTS=" -m64 -s" LIBOPTS=" -lopenal32" APPLIBPATH="D:/blitz_research/cerberus_git/cerberus/libs" HOSTOS="winnt" ARCH=64 OUT="Release64/cserver_winnt" ', return code=2
Move-Item : Cannot find path
'D:\blitz_research\cerberus_git\cerberus\src\cserver\cserver.build\glfw3\gcc_winnt\Release64\cserver_winnt.exe'
because it does not exist.
At D:\blitz_research\cerberus_git\cerberus\src\rebuildall.ps1:334 char:9
+ Move-Item cserver\cserver.build\glfw3\gcc_winnt\Release"$arch ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (D:\blitz_resear...erver_winnt.exe:String) [Move-Item], ItemNotFoundExce
ption
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.MoveItemCommand
ERROR: Failed to build cserver!
PS D:\blitz_research\cerberus_git\cerberus\src>
That would be the next clue. Which version of MinGW are you using and what CPU architectures does it support? What version and architecture of the operating system. Cerberus defaults to 64 bit, hence the -m64 gcc compiler flag. You could force 32 bit builds by adding #GLFW_GCC_MSIZE_WINNT="32" to the top of the offending source file (cerberus\src\cserver\cserver.cxs)."This is not a 64 bit operating system"
- Exception calling "ExtractToDirectory" with "2" argument(s): "Could not find a part of the path
- 'C:\WINDOWS\system32\archives\shared_libs_win.zip'."
gcc (i686-posix-dwarf-rev1, Built by MinGW-W64 project) 6.2.0
Copyright (C) 2016 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
[string]$mingw = "D:\Qt\Tools\mingw492_32",
[string]$qtsdk = "D:\Qt\5.5\msvc2013_64",
[string]$visualstudio = "D:\Microsoft Visual Studio 12.0\VC",
[string]$qtspec = "win32-msvc2013",
gcc (i686-posix-dwarf-rev1, Built by MinGW-W64 project) 4.9.2
Copyright (C) 2014 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Building transcc
Please wait
Building launcher
makedocs
TRANS cerberus compiler V2017-11-09 alpha
Parsing...
Semanting...
Translating...
Building...
building cserver
TRANS cerberus compiler V2017-11-09 alpha
Parsing...
Semanting...
Translating...
Building...
"This is not a 64 bit operating system"
64 BIT
gcc -m64 -O3 -DNDEBUG -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Release64/context.o ../glfw3/src/context.c
../glfw3/src/context.c:1:0: sorry, unimplemented: 64-bit mode not compiled in
//========================================================================
^
makefile:95: recipe for target 'build/Release64/context.o' failed
mingw32-make: *** [build/Release64/context.o] Error 1
TRANS FAILED: Error executing 'mingw32-make CCOPTS=" -m64 -O3 -DNDEBUG" LDOPTS=" -m64 -s" LIBOPTS=" -lopenal32" APPLIBPATH="D:/blitz_research/cerberus_git/cerberus/libs" HOSTOS="winnt" ARCH=64 OUT="Release64/cserver_winnt" ', return code=2
Move-Item : Cannot find path
'D:\blitz_research\cerberus_git\cerberus\src\cserver\cserver.build\glfw3\gcc_winnt\Release64\cserver_winnt.exe'
because it does not exist.
At D:\blitz_research\cerberus_git\cerberus\src\rebuildall.ps1:334 char:9
+ Move-Item cserver\cserver.build\glfw3\gcc_winnt\Release"$arch ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (D:\blitz_resear...erver_winnt.exe:String) [Move-Item], ItemNotFoundExce
ption
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.MoveItemCommand
ERROR: Failed to build cserver!
sorry, unimplemented: 64-bit mode not compiled in
This package has two version of g++ installed in the bin directory. I will have to integrate this it transcc, in case it should become part of the official distribution.2.I usually use the MinGW version recommended to build Monkey 2, found here:
http://monkeycoder.co.nz/get-file?file=i686-6.2.0-posix-dwarf-rt_v5-rev1.exe
This should be a quick fix. I was playing around yesterday and forgot to set the template back to it's original state due to being distracted by more pressing real life matters.
Open
cerberus\targets\glfw3\template\config.cxs
#GLFW_GCC_MSIZE_WINNT="64"
to
#GLFW_GCC_MSIZE_WINNT="32"
I've been using TDM-GCC 5.1 64 bit version cross compiler, mostly to keep in line with the closest version that you would find on Ubuntu/Mint LTS 16.04. MinGW 5.1 had an issue with MS .lib files.
TIP: When it comes to Qt. Download the latest versions and look for the Maintenance tool in the Qt root directory.
Run it, skip the first Qt login dialog.
You may have to run the update tool to get the latest version of the Maintenance tool, before adding any new repositories.
Building transcc
Please wait
Building launcher
makedocs
TRANS cerberus compiler V2017-11-09 alpha
Parsing...
Semanting...
Translating...
Building...
building cserver
TRANS cerberus compiler V2017-11-09 alpha
Parsing...
Semanting...
Translating...
Building...
Check C:\WINDOWS\SysWOW64\OpenAL32.dll
Created link to 64 bit OpenAL32.dll
symbolic link created for D:\Blitz_research\cerberus_git\cerberus\src\cserver\cserver.build\glfw3\openal\libs\shared\Win32\OpenAL32.dll <<===>> C:\WINDOWS\SysWOW64\OpenAL32.dll
32 BIT
gcc -m32 -O3 -DNDEBUG -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Release32/context.o ../glfw3/src/context.c
gcc -m32 -O3 -DNDEBUG -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Release32/egl_context.o ../glfw3/src/egl_context.c
gcc -m32 -O3 -DNDEBUG -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Release32/init.o ../glfw3/src/init.c
gcc -m32 -O3 -DNDEBUG -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Release32/input.o ../glfw3/src/input.c
gcc -m32 -O3 -DNDEBUG -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Release32/monitor.o ../glfw3/src/monitor.c
gcc -m32 -O3 -DNDEBUG -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Release32/osmesa_context.o ../glfw3/src/osmesa_context.c
gcc -m32 -O3 -DNDEBUG -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Release32/vulkan.o ../glfw3/src/vulkan.c
gcc -m32 -O3 -DNDEBUG -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Release32/wgl_context.o ../glfw3/src/wgl_context.c
gcc -m32 -O3 -DNDEBUG -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Release32/win32_init.o ../glfw3/src/win32_init.c
gcc -m32 -O3 -DNDEBUG -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Release32/win32_joystick.o ../glfw3/src/win32_joystick.c
gcc -m32 -O3 -DNDEBUG -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Release32/win32_monitor.o ../glfw3/src/win32_monitor.c
gcc -m32 -O3 -DNDEBUG -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Release32/win32_time.o ../glfw3/src/win32_time.c
gcc -m32 -O3 -DNDEBUG -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Release32/win32_thread.o ../glfw3/src/win32_thread.c
gcc -m32 -O3 -DNDEBUG -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Release32/win32_window.o ../glfw3/src/win32_window.c
gcc -m32 -O3 -DNDEBUG -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Release32/window.o ../glfw3/src/window.c
gcc -m32 -O3 -DNDEBUG -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Release32/stb_vorbis.o ../stb/stb_vorbis.c
gcc -m32 -O3 -DNDEBUG -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Release32/stb_image.o ../stb/stb_image.c
g++ -m32 -O3 -DNDEBUG -Wno-free-nonheap-object -I../curl/include -I../glfw3/include -I../glfw3/src -I../openal/include -I../stb -I../zlib-1.2.8 -I../lpng1610 -c -o build/Release32/main.o ../main.cpp
g++ -m32 -s -LD:/blitz_research/cerberus_git/cerberus/libs/shared/Win32 -L../openal/libs/shared/Win32 -Wl,--subsystem,windows -o Release32/cserver_winnt build/Release32/context.o build/Release32/egl_context.o build/Release32/init.o build/Release32/input.o build/Release32/monitor.o build/Release32/osmesa_context.o build/Release32/vulkan.o build/Release32/wgl_context.o build/Release32/win32_init.o build/Release32/win32_joystick.o build/Release32/win32_monitor.o build/Release32/win32_time.o build/Release32/win32_thread.o build/Release32/win32_window.o build/Release32/window.o build/Release32/stb_vorbis.o build/Release32/stb_image.o build/Release32/main.o -lcomdlg32 -lgdi32 -lopengl32 -lopenal32 -lws2_32
Move-Item : Cannot find path
'D:\blitz_research\cerberus_git\cerberus\src\cserver\cserver.build\glfw3\gcc_winnt\Release64\cserver_winnt.exe'
because it does not exist.
At D:\blitz_research\cerberus_git\cerberus\src\rebuildall.ps1:334 char:9
+ Move-Item cserver\cserver.build\glfw3\gcc_winnt\Release"$arch ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (D:\blitz_resear...erver_winnt.exe:String) [Move-Item], ItemNotFoundExce
ption
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.MoveItemCommand
ERROR: Failed to build cserver!
Move-Item cserver\cserver.build\glfw3\gcc_winnt\Release"$arch"\cserver_winnt.exe ..\bin\cserver_winnt.exe
Actually you will find that the the culprit is line 99:Everything seems to go fine, until it has to create some folder where to move stuff into. The culprit is this line (rebuildall.ps1:334 char:9):
$arch = $env:PROCESSOR_ARCHITECTURE | %{$_ -replace "AMD", ""} | %{$_ -replace "x86", "32"}
write-host $env:PROCESSOR_ARCHITECTURE
If you have installed the native 64 bit version, you will find that changing the #GLFW_GCC_MSIZE_WINNT="32" back to #GLFW_GCC_MSIZE_WINNT="64" and running the script in the 64 bit version of power-shell it will compile OK.I downloaded TDM-GCC and I must say it's very nice! I compiled the latest commit with this new version, more to come below..
No. The intention of the script is that it should build either pure 32 bit or 64 bit binaries based on the version of Power-Shell used. But there has to be a default MSIZE has to be used somewhere. You would normally over-ride this in your own code by using #GLFW_GCC_MSIZE_WINNT="64" in your main source file.Does this mean Cerberus will now be only 32 bits?
It's meant to clean up after it's self or you would end up with a lot of old build files.I also tried creating the mentioned folders/subfolders by hand, it creates stuff temporarily, but it then immediately deletes everything ;(
To access the tab to add repositories. On the dialog with radio buttons, where is gives you a choice of:Is this due to using the Online installer? (qt-unified-windows-x86-3.0.1-online.exe), should I install the full qt-opensource (offline) package instead? (qt-opensource-windows-x86-msvc2013_64-5.5.1.exe)