无法在目标上发布应用程序

时间:2013-09-10 15:36:41

标签: build shared-libraries blackberry-10 cascade

我有两个级联项目。

我从一个项目构建一个共享库(.so),在另一个项目中我使用这个.so文件。

要构建此(.so)文件,我们使用以下.pro文件 -

APP_NAME = XYZ

TEMPLATE = lib

TARGET = XYZ

CONFIG += qt warn_on debug_and_release cascades

LIBS   += -lpps -lscreen -lEGL -lGLESv1_CM -lfreetype -lpng -lbb -ljpeg -lbbdata -lbbsystem -lbbdevice -lsqlite3 -lbbutility

include(config.pri)

现在要添加此(.so)文件,请按照此knowledgebase

现在问题是我无法使用设备上的Device-Release运行我的应用程序Q10& Z10。以下错误来自qnx编译器 -

unable to release application on target

但是Device-Debug&模拟器 - 调试工作正常。

奇怪的是,如果我在没有(.so)文件的情况下构建我的应用程序,那么它正在使用Device-Release。所以,我怀疑里面的问题(.so)。可能正在构建(.so)文件有一些问题。

我在谷歌搜索了很多东西并尝试关注事物 -

change bar-descriptor

compiling library and resources

但这一切都不适合我。非常需要你的帮助。 提前谢谢。

1 个答案:

答案 0 :(得分:1)

我从来没有能够让这个工作。我相信它与用于Device-Release版本的Cascades zygote的构建有关,但我还没有真正研究过它。

进一步考虑后,我决定使用静态库。如果使用共享对象库,则库中包含的所有代码都必须位于设备上。对于像C标准库这样广泛使用的库来说,这非常有效,因为很多程序都喜欢它们。但是对于您自己的库,您必须将库包含在您的程序中,因此无论是否在程序中实际调用它,您都将包含目标代码。如果库最终增长到一个大尺寸,而你只使用它的一小部分,那就浪费了。当您静态链接到库时,只包含程序中实际需要的那些对象模块。

相关问题