×

Discussion Board

Results 1 to 9 of 9
  1. #1
    Registered User
    Join Date
    Apr 2003
    Location
    France
    Posts
    63

    Carbide.c++ Developer and static libraries

    Hi

    Can Carbide.c++ build a project with static libraries ?

    I do have a project that compiles fine on command line and Codewarrior Pro that makes uses of several static libraries. When imported into Carbide.c++, the compilation goes OK but the link could not be completed. I got the following error in the carbide console:

    Code:
    arm-none-symbianelf-ld.exe: C:\Symbian\9.1\S60_3rd_MR\epoc32\release\ARMV5\UREL\aacdeclib.lib C:\Symbian\9.1\S60_3rd_MR\epoc32\release\ARMV5\UREL\mpeg4declib.lib: No such file: No such file or directory

    Just a little above, still in the console, the command which trigger the error is:

    Code:
    'Invoking: GCCE Linker'
    arm-none-symbianelf-ld.exe --check-sections --no-undefined --no-allow-shlib-undefined -nostdlib -shared --entry _E32Startup -Tdata 0x400000 -Ttext 0x8000 --target1-abs --discard-locals --default-symver -u_E32Startup -L"C:\Program Files\CSL Arm Toolchain\arm-none-symbianelf\lib" -L"C:\Program Files\CSL Arm Toolchain\lib\gcc\arm-none-symbianelf\3.4.3"  -soname "MyPlayer{000a0000}.exe" "C:\Symbian\9.1\S60_3rd_MR\EPOC32\RELEASE\ARMV5\UREL\eexe.lib"  C:\Symbian\9.1\S60_3rd_MR\EPOC32\RELEASE\ARMV5\LIB\dfpaeabi.dso  C:\Symbian\9.1\S60_3rd_MR\EPOC32\RELEASE\ARMV5\LIB\drtaeabi.dso  C:\Symbian\9.1\S60_3rd_MR\EPOC32\RELEASE\ARMV5\LIB\dfprvct2_2.dso  C:\Symbian\9.1\S60_3rd_MR\EPOC32\RELEASE\ARMV5\LIB\scppnwdl.dso  C:\Symbian\9.1\S60_3rd_MR\EPOC32\RELEASE\ARMV5\LIB\drtrvct2_2.dso  C:\Symbian\9.1\S60_3rd_MR\EPOC32\RELEASE\ARMV5\UREL\usrt2_2.lib -o "C:\Symbian\9.1\S60_3rd_MR\epoc32\release\GCCE\UDEB\MyPlayer.sym" -Map C:\Symbian\9.1\S60_3rd_MR\epoc32\release\GCCE\UDEB\\MyPlayer.exe.map  ./src/MyPlayerApp.o ./src/MyPlayerAppDoc.o ./src/MyPlayerAppUi.o ./src/MyPlayerMainView.o ./src/MyPlayerVideoContainer.o  ./src/MyPlayerSettingsContainer.o ./src/MyPlayerSettingsView.o ./src/nlcUtils.o ./src/nlcGfx.o ./src/nlcHttp.o   "C:\Symbian\9.1\S60_3rd_MR\epoc32\release\ARMV5\UREL\aacdeclib.lib C:\Symbian\9.1\S60_3rd_MR\epoc32\release\ARMV5\UREL\mpeg4declib.lib" "C:\Symbian\9.1\S60_3rd_MR\epoc32\release\ARMV5\LIB\euser.dso" ......

    The fact that aacdeclib.lib and mpeg4declib.lib are within the same "..." looks suspicious to me....
    --
    Eric
    [url]http://www.newlc.com[/url]

  2. #2
    Nokia Developer Expert
    Join Date
    Dec 2004
    Location
    Austin, TX
    Posts
    399

    Re: Carbide.c++ Developer and static libraries

    Hi Eric - It looks like for GCCE builds it's only going to work for one lib since it tries to quote the entire list.

    Can you move your static libs under the regular lib list, then it should pick them up and quote (or not quote) them properly.

    Thanks,
    Tim

  3. #3
    Nokia Developer Expert
    Join Date
    Dec 2004
    Location
    Austin, TX
    Posts
    399

    Re: Carbide.c++ Developer and static libraries

    Hi Eric - It looks like for GCCE builds it's only going to work for one lib since it tries to quote the entire list.

    Can you move your static libs under the regular lib list, then it should pick them up and quote (or not quote) them properly.

    Thanks,
    Tim

  4. #4
    Registered User
    Join Date
    Jan 2007
    Posts
    15

    Re: Carbide.c++ Developer and static libraries

    I have the same problem. The S60 GCCE debug configruation linker command line generator is broken. I'm using Carbide.c++ 1.1 DEV.

    Everything works fine under the Emulator Debug build. When I duplicate the settings on the S30 3.1 Phone (GCCE) Debug [S60_3rd_FP1] configuration, it breaks horribly.

    I add a couple static libraries. It invokes:

    arm-none-symbianelf-ld.exe --verbose --check-sections --no-undefined --no-allow-shlib-undefined -nostdlib -shared --entry _E32Startup -Tdata 0x400000 -Ttext 0x8000 --target1-abs --discard-locals --default-symver -u_E32Startup -L"C:\Program Files\CSL Arm Toolchain\arm-none-symbianelf\lib" -L"C:\Program Files\CSL Arm Toolchain\lib\gcc\arm-none-symbianelf\3.4.3" -soname "TestingFrameworkTest{000a0000}.exe" "C:\Symbian\9.2\S60_3rd_FP1\EPOC32\RELEASE\ARMV5\UREL\eexe.lib" C:\Symbian\9.2\S60_3rd_FP1\EPOC32\RELEASE\ARMV5\LIB\dfpaeabi.dso C:\Symbian\9.2\S60_3rd_FP1\EPOC32\RELEASE\ARMV5\LIB\drtaeabi.dso C:\Symbian\9.2\S60_3rd_FP1\EPOC32\RELEASE\ARMV5\LIB\dfprvct2_2.dso C:\Symbian\9.2\S60_3rd_FP1\EPOC32\RELEASE\ARMV5\LIB\scppnwdl.dso C:\Symbian\9.2\S60_3rd_FP1\EPOC32\RELEASE\ARMV5\LIB\drtrvct2_2.dso C:\Symbian\9.2\S60_3rd_FP1\EPOC32\RELEASE\ARMV5\UREL\usrt2_2.lib -o "C:\Symbian\9.2\S60_3rd_FP1\epoc32\release\GCCE\UDEB\TestingFrameworkTest.sym" -Map C:\Symbian\9.2\S60_3rd_FP1\epoc32\release\GCCE\UDEB\\TestingFrameworkTest.exe.map ./Source/A1.o ./Source/A2.o ./Source/Main.o "C:\Symbian\9.2\S60_3rd_FP1\epoc32\release\ARMV5\UREL\euser.lib C:\Symbian\9.2\S60_3rd_FP1\epoc32\release\ARMV5\UREL\MyLib.lib" C:\Symbian\9.2\S60_3rd_FP1\epoc32\release\ARMV5\LIB\euser.dso -lsupc++ -lgcc

    Several things are wrong with this. You will notice that the euser.lib and MyLib.lib files are both contained in the same double quotes making it a SINGLE filename.

    Next, the path to MyLib.lib is wrong. "UREL" should be "UDEB". Also euser.lib doesn't exist, maybe I don't even need it in this case (perhaps it is only for the emulator).

    What is going on? Apparently the library search path is pointless since carbide appends an absolute [wrong] path to the library name.

    I've tried putting the libraries in the "Libraries" section not the "staitc libraries" section and that just doesn't work. It tries to use "LIB" instead of "UREL".

  5. #5
    Registered User
    Join Date
    Feb 2007
    Posts
    6

    Re: Carbide.c++ Developer and static libraries

    Hello, I am having the same problem.
    I cannot find a way to successfully link my GCCE release projects, which utilize static libraries.

    This problem is putting a stop to my plans of moving to a DEV1.1 license;
    Does anyone know whether this problem is going to be fixed in an upcoming release soon?

    BR
    Björn

  6. #6
    Registered User
    Join Date
    Jan 2007
    Posts
    15

    Re: Carbide.c++ Developer and static libraries

    There is another thread where the solution is posted. I don't have a link handy.

    You need to list a *full* path to the static libraries that you want linked in the "Libraries" section (not the "Static Libraries") section.

  7. #7
    Nokia Developer Moderator
    Join Date
    Oct 2006
    Location
    Finland
    Posts
    4,538

    Re: Carbide.c++ Developer and static libraries

    Quote Originally Posted by scalado-bjorna
    Hello, I am having the same problem.
    I cannot find a way to successfully link my GCCE release projects, which utilize static libraries.

    This problem is putting a stop to my plans of moving to a DEV1.1 license;
    Does anyone know whether this problem is going to be fixed in an upcoming release soon?

    BR
    Björn
    Like smui said, you need to give full path. Other way is define the path, that way it gives you freedom to just give lib names.

  8. #8
    Registered User
    Join Date
    Feb 2007
    Posts
    6

    Re: Carbide.c++ Developer and static libraries

    There is another thread where the solution is posted. I don't have a link handy.

    You need to list a *full* path to the static libraries that you want linked in the "Libraries" section (not the "Static Libraries") section.
    Thank you for your quick reply, it was very helpful. I am still having problems though, as it seems that the project I am working with does not add the libraries after the ".o"-files in the link command.

    The project was imported from a Carbide.c++ Express v1.0 project. If I create a new project in Carbide.c++ Express v1.1, it seems to link normally. Could it be an issue with the Carbide project settings migration itself?

    I guess I will just have to manually recreate the project in Carbide.c++ Dev v1.1 . It's a little more work than I hoped for, but I want that on-device debugging :-)

    BR
    BJörn

  9. #9
    Nokia Developer Moderator
    Join Date
    Oct 2006
    Location
    Finland
    Posts
    4,538

    Re: Carbide.c++ Developer and static libraries

    I have found that the only way for the code to work efficiently is to make a re-create the project in 1.1(I really hope they do something about this compatibility issue..its real a pain to go on and on making changes with every fresh version available)

    If there is any workaround, then it would be really interesting to see how it works!!

Similar Threads

  1. Writable Static Data: 8.1b
    By FloydFan in forum Symbian
    Replies: 0
    Last Post: 2005-11-05, 09:03
  2. another Null pointer exception
    By kvchen1985 in forum Mobile Java Tools & SDKs
    Replies: 1
    Last Post: 2004-06-28, 15:33

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
×