Forums | developer.brewmp.com Forums | developer.brewmp.com

Developer

Forums

This has proven to be quite troublesome. The first issue I ran into was the fact that the LIT BREW macro is not compatible with gcc (because of its use of 'L' to convert char strings into wide char strings). But that is a small issue.

I've gotten my code to compile, link, and convert to MOD, however it causes the device to crash when you try to run the triglet that uses my actor. This is not because of a programming error, AEEMod_CreateInstance never gets hit. I am using the newest version of elf2mod and the accompanying linker script. I am compiling and linking with WinARM 4.1.0. If I try to use an older version of BREWelf2mod i recieve the error "unknown section name "i.AEEMod_Load]:"

Does anyone have any suggestions or had success compiling an actor with WinARM?

RadikalEd wrote:
Does anyone have any suggestions or had success compiling an actor with WinARM?
As I know, to create your actor, you have to link it with xmod library. This library implements AEEMod_Load function. This function must be the first method in the ELF file. Try to check this using map file generated by linker. BTW, are you linking with library (.a) created by ADS? Maybe this is not correct...
Some time ago, I also experimented with GCC (but 3.3.3). I just figured out that if you let linker combine all the file as it wants, this causes AEEMod_Load to be placed somewhere in code segment, not beginning. This causes crashes, since each time you use BREW API, it dereferences AEEMod_Load to find pointer to global data (list of system functions) which is located immediately before AEEMod_Load.
Unfortunately, I know nothing about linker scripts, so the only method I had found is to build xmod from sources and pass the module that contains the AEEMod_Load to be the first in object list for link.
Once again, take a look at your map file, check AEEMod_Load placement.
Dmitry

RadikalEd wrote:
Does anyone have any suggestions or had success compiling an actor with WinARM?
As I know, to create your actor, you have to link it with xmod library. This library implements AEEMod_Load function. This function must be the first method in the ELF file. Try to check this using map file generated by linker. BTW, are you linking with library (.a) created by ADS? Maybe this is not correct...
Some time ago, I also experimented with GCC (but 3.3.3). I just figured out that if you let linker combine all the file as it wants, this causes AEEMod_Load to be placed somewhere in code segment, not beginning. This causes crashes, since each time you use BREW API, it dereferences AEEMod_Load to find pointer to global data (list of system functions) which is located immediately before AEEMod_Load.
Unfortunately, I know nothing about linker scripts, so the only method I had found is to build xmod from sources and pass the module that contains the AEEMod_Load to be the first in object list for link.
Once again, take a look at your map file, check AEEMod_Load placement.
Dmitry

Hi, I'm trying to compile an example of uiOne Actors with WinArm, I got the errors : " cannot convert 'const wchar_t [5]' to 'const AECHAR[5]" regarding the LIT brew macro.
Do you know how to solve the problem?
Thanks

Hi, I'm trying to compile an example of uiOne Actors with WinArm, I got the errors : " cannot convert 'const wchar_t [5]' to 'const AECHAR[5]" regarding the LIT brew macro.
Do you know how to solve the problem?
Thanks

do you think wchar_t datatype is supported in BREW ?

do you think wchar_t datatype is supported in BREW ?

..really, I do not know.

..really, I do not know.

Then i think you have to remove those stdlib.h dependancies.

Then i think you have to remove those stdlib.h dependancies.

Hello, I have installed and used winarm follow your instruction.
I have compiled correctly some example in brew.
Now I have problem compiling the circleactor example of uiOne sdk, I got the following error:
AEEModGen.o: In function `AEEMod_CreateInstance':
AEEModGen.c:(.text.AEEMod_CreateInstance+0x7c): undefined reference to `AEEClsCreateInstance'
Anyone know how to solve?
Thanks

Hello, I have installed and used winarm follow your instruction.
I have compiled correctly some example in brew.
Now I have problem compiling the circleactor example of uiOne sdk, I got the following error:
AEEModGen.o: In function `AEEMod_CreateInstance':
AEEModGen.c:(.text.AEEMod_CreateInstance+0x7c): undefined reference to `AEEClsCreateInstance'
Anyone know how to solve?
Thanks

Hello, I have installed and used winarm follow your instruction.
I have compiled correctly some example in brew.
Now I have problem compiling the circleactor example of uiOne sdk, I got the following error:
AEEModGen.o: In function `AEEMod_CreateInstance':
AEEModGen.c:(.text.AEEMod_CreateInstance+0x7c): undefined reference to `AEEClsCreateInstance'
Anyone know how to solve?
Thanks

Hello, I have installed and used winarm follow your instruction.
I have compiled correctly some example in brew.
Now I have problem compiling the circleactor example of uiOne sdk, I got the following error:
AEEModGen.o: In function `AEEMod_CreateInstance':
AEEModGen.c:(.text.AEEMod_CreateInstance+0x7c): undefined reference to `AEEClsCreateInstance'
Anyone know how to solve?
Thanks