Giter Site home page Giter Site logo

Comments (25)

ilg-ul avatar ilg-ul commented on June 1, 2024

Thank you for the suggestion, I'll think about it.

@jonahgraham, do you know of something similar in CDT? If not, are there any plans to implement it?

from eclipse-plugins.

fanghuaqi avatar fanghuaqi commented on June 1, 2024

Thank you for the suggestion, I'll think about it.

@jonahgraham, do you know of something similar in CDT? If not, are there any plans to implement it?

Thank you.

from eclipse-plugins.

TommyMurphyTM1234 avatar TommyMurphyTM1234 commented on June 1, 2024

In case it's of any relevance, this 10 year old CDT bug relates to the same issue:

I'm not sure about "impossible" though, given that there seem to be workarounds - for example:

from eclipse-plugins.

fanghuaqi avatar fanghuaqi commented on June 1, 2024

Hi @TommyMurphyTM1234 , it seems to be a CDT issue, workaround is not in an clean way, but I will take a try.

from eclipse-plugins.

TommyMurphyTM1234 avatar TommyMurphyTM1234 commented on June 1, 2024

Hi @TommyMurphyTM1234 , it seems to be a CDT issue, workaround is not in an clean way, but I will take a try.

I think it's more or less what @ilg-ul previously suggested for Embedded CDT.
I just posted the links in case they were relevant to the comments about the base CDT.

from eclipse-plugins.

ilg-ul avatar ilg-ul commented on June 1, 2024

I think it's more or less what @ilg-ul previously suggested for Embedded CDT.

That's correct. With the current implementation there are two solutions:

  • add the group as Miscellaneous -> Other linker flags
  • add the --start-group/--end-group in the Linker -> Expert settings -> Command line pattern

from eclipse-plugins.

laomaolaile avatar laomaolaile commented on June 1, 2024

Adding to Linker -> Misc -> Other Objects is not working.

image

from eclipse-plugins.

laomaolaile avatar laomaolaile commented on June 1, 2024

Put it in other linker flags is also not working

image

image

from eclipse-plugins.

laomaolaile avatar laomaolaile commented on June 1, 2024

Workaround like this, seems to work, but it is not a good way for normal user.

image
image
image

from eclipse-plugins.

fanghuaqi avatar fanghuaqi commented on June 1, 2024

Hi @ilg-ul @jonahgraham @jld01 , I see eclipse-cdt/cdt#608 this issue is fixed, maybe embedded cdt plugin can support this group library feature now using this release https://github.com/eclipse-cdt/cdt/releases/tag/CDT_11_4_0, is there any work to do in this embedded cdt plugin?

image

from eclipse-plugins.

laomaolaile avatar laomaolaile commented on June 1, 2024

Hi @ilg-ul @jonahgraham @jld01

I created a MinGW GCC project using eclipse-embedcpp-2023-12-R-win32-x86_64, which already supports the Group libraries feature.

image

However, the created risc-v project currently does not support the Group libraries feature.

image

If want the risc-v project to also support Group libraries, do need to complete some development work?

If I want to achieve it and contribute, what should I do?

from eclipse-plugins.

ilg-ul avatar ilg-ul commented on June 1, 2024

The ARM & RISC-V managed build plug-ins and the MinGW managed build plug-in are different plug-ins and do not share code, so that button and the associated functionality must be reimplemented.

I currently don't know how complex this can be, the MinGW plug-in must be studied and a similar solution used, if possible.

from eclipse-plugins.

jld01 avatar jld01 commented on June 1, 2024

The CDT implementation was applied to the base GNU toolchain definitions of the Managed Build System (MBS). The MinGW GCC toolchain inherits this behaviour from the base definitions. The following diff provides a summary of the work involved: https://github.com/eclipse-cdt/cdt/compare/08abfa2..f5754e2

from eclipse-plugins.

laomaolaile avatar laomaolaile commented on June 1, 2024

Hi @ilg-ul @jld01

Maybe I expressed wrongly. The key point is not MinGW GCC. I just want to know if can add Group libraries to the risc-v's GNU IRSC-V Corss C++ Links page, and if it supports this usage after adding it.

image

image

from eclipse-plugins.

ilg-ul avatar ilg-ul commented on June 1, 2024

if can add Group libraries to the risc-v's

If we decide to implement it, It must be added to the common plug-in and it'll be inherited to both RISC-V and Arm.

if it supports this usage after adding it.

I have no experience with this use case.

But you don't have to patch the plug-ins to use it, you can manually define all those options in the Miscellaneous field.

from eclipse-plugins.

laomaolaile avatar laomaolaile commented on June 1, 2024

Hello, this issue has been raised for some time now, and support for it is already available in CDT. May I ask if anyone is currently working on addressing this requirement?

@ilg-ul @jld01

from eclipse-plugins.

ilg-ul avatar ilg-ul commented on June 1, 2024

... anyone is currently working on addressing this requirement?

Unfortunately my resources are very limited and I cannot commit on a date, so any contributions are appreciated.

from eclipse-plugins.

laomaolaile avatar laomaolaile commented on June 1, 2024

I have completed the development of the function. How can I share the code?

The demonstration effects in the ARM project are as follows:

When Group libraries unchecked:

image

image

When Group libraries checked:

image

image

The demonstration effects in the RISC-V project are as follows:

When Group libraries unchecked:

image

image

When Group libraries checked:

image

image

from eclipse-plugins.

ilg-ul avatar ilg-ul commented on June 1, 2024

I took a look at this issue and I'm a bit confused, the solution I saw in CDT did not work in my projects, adding a LibrariesCommandGenerator to surround the list of libraries via -Wl,--start-group %s -Wl,--end-group failed because the resulting string is expected to have no spaces, otherwise they're escaped with a backslash and the compiler is not happy with them.

My solution was to generate everything as a single -Wl, string, like:

-Wl,--start-group,-lone,-ltwo,-lthree,--end-group

Any comments on this solution? @jld01, @laomaolaile ?

from eclipse-plugins.

ilg-ul avatar ilg-ul commented on June 1, 2024

As window layout, I would add the new option just below the list of libraries, since it applies to them, like this:

Screenshot 2024-03-19 at 21 12 41

What do you think?

from eclipse-plugins.

TommyMurphyTM1234 avatar TommyMurphyTM1234 commented on June 1, 2024

As window layout, I would add the new option just below the list of libraries, ...:

That makes sense to me but unfortunately seems to deviate from where CDT places it, and perhaps all plugins should be consistent?

from eclipse-plugins.

ilg-ul avatar ilg-ul commented on June 1, 2024

unfortunately seems to deviate from where CDT places it

yeah, but the behaviour is also slightly different. and it is not widely used by CDT, probably it is Windows specific, since I don't see it on my Mac.

from eclipse-plugins.

ilg-ul avatar ilg-ul commented on June 1, 2024

@laomaolaile, please test the pre-release from:

from eclipse-plugins.

laomaolaile avatar laomaolaile commented on June 1, 2024

I have tested it and it's exactly the function I want. Thank you very much. @ilg-ul

from eclipse-plugins.

ilg-ul avatar ilg-ul commented on June 1, 2024

Thank you for confirming.

I'll proceed with the 6.6.0 release.

from eclipse-plugins.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.