Welcome!

Welcome to the official BlackBerry Support Community Forums.

This is your resource to discuss support topics with your peers, and learn from each other.

inside custom component

Native Development

Reply
Developer
raffi
Posts: 154
Registered: ‎06-23-2012
My Device: Z10 & Z30
My Carrier: Bell
Accepted Solution

Compiling libraries and resources

So with the gold release of the SDK, we now have a way of compiling libraries differently to speed up the startup time of an app.

 

The problem is, there seems to be some inconsistency in the documentation. I just want some clarification about which way is correct.

 

The official documentation here: https://developer.blackberry.com/cascades/documentation/getting_started/tools/compiling.html

 

The blog introducing the topic here: http://devblog.blackberry.com/2012/12/cascades-project-zygote

 

Problem 1

 

In the .pro file, the docs say to add QMAKE_CXX_FLAGS += -fvisible to the Device-Release configuration.

 

However, the blog says to add QMAKE_CXXFLAGS += -fvisibility=hidden.

 

Which is correct?

 

Problem 2

 

In the bar-descriptor.xml, the doc says to add <entryPointType> section to the Device-Release config.

 

However, the blog also adds .so to the end of the asset path.

 

Adding or removing the .so from my asset path doesn't seem to make a difference at time of building.

 

Problem 3

 

None of the documentation says to remove the configuration id from the bar-descriptor (e.g. <configuration id="com.qnx.qcc.toolChain.1120265426" name="Device-Release">).

 

But I found that if I don't remove the id, I get errors and am unable to compile. After removing them to match what a fresh project's bar-descriptor looks like, all works fine.

 

Is this correct?

 

Thanks for the help.

Please use plain text.
Developer
raffi
Posts: 154
Registered: ‎06-23-2012
My Device: Z10 & Z30
My Carrier: Bell

Re: Compiling libraries and resources

When I put my app into Device-Release build mode, it fails to start citing "no program found".

What is the configuration path supposed to be? Mine is currently:

<configuration name="Device-Release">
<platformArchitecture>armle-v7</platformArchitecture>
<asset path="arm/o.le-v7/AppName" entry="true" type="Qnx/Elf">AppName</asset>
<entryPointType>Qnx/Cascades</entryPointType>
</configuration>

But when I look at arm/o.le-v7/ all I see is libAppName.so (and some variations like .so.1).
Please use plain text.
Developer
raffi
Posts: 154
Registered: ‎06-23-2012
My Device: Z10 & Z30
My Carrier: Bell

Re: Compiling libraries and resources

[ Edited ]

I fixed it. Not sure why this isn't properly documented anywhere but by exploring my file directory and comparing against other sample apps, this is my new configuration:

<configuration name="Device-Release">
<platformArchitecture>armle-v7</platformArchitecture>
<asset path="arm/o.le-v7/libAppName.so.1.0.0" entry="true" type="Qnx/Elf">AppName.so</asset>
<entryPointType>Qnx/Cascades</entryPointType>
</configuration>

Please use plain text.