1
votes

I need to transfer data between c++ and java. I have decided to use Google's protobuf.

I made installation process and I got: bin > protoc.exe lib > libprotobuf.a libprotobuf.la libprotobuf-lite.a libprotobuf-lite.la libprotoc.a libprotoc.la and include folder

I've link library in .pro file

QT       += core gui network webkit

TARGET = MWOP
TEMPLATE = app

LIBS += -LC:\msys\1.0\local\lib\ -lprotobuf
INCLUDEPATH += C:\msys\1.0\local\include

SOURCES +=
...

HEADERS  += 
...

FORMS    += 
...

CONFIG += mobility

MOBILITY += bearer systeminfo

symbian {

    TARGET.UID3 = xxxxx
    TARGET.CAPABILITY += ReadUserData NetworkServices
    TARGET.EPOCSTACKSIZE = 0x14000
    TARGET.EPOCHEAPSIZE = 0x020000 0x800000

}

RESOURCES += Resources/Registration.qrc

in simulator everything seems to work fine and project builds but when I want to deploy application on phone I've got compilation error: :: error: No rule to make target \NokiaQtSDK\Symbian\SDK\epoc32\release\armv5\LIB\protobuf.dso, needed by \NokiaQtSDK\Symbian\SDK\epoc32\release\gcce\urel\MWOP.exe. Stop.

How can I fix that?

2
And where is your protobuf.dso? It seems that you haven't build it. Check the path mentioned in error: is the dso file there?Haspemulator
I haven't got any .dso or .lib files after compilation the library and I've only got .a and .la file. Is there any way to compile this library and get .dsp .lib files?Tomus

2 Answers

1
votes

The DSO file you need is the ARM compiled protobuf library. I expect that the libs you list (libprotobuf.a etc) are windows/x86 binaries, so no use for running on target. You need to either:

  • get hold of the protobuf source code and build it yourself for ARM
  • find pre-compiled ARM binaries for the protobuf library
0
votes

An alternative is to use the Nokia APIbridge, which can achieve the same thing