RoboCix

EmWin To UGFX

38 posts in this topic

This is the error when just building the project you attached without any modifications: compiler_output.txt
These are the two only errors:

.\Objects\Widge_Create_Ugfx.axf: Error: L6200E: Symbol __ARM_use_no_argv multiply defined (by gui.o and main.o).
.\Objects\Widge_Create_Ugfx.axf: Error: L6200E: Symbol main multiply defined (by gui.o and main.o).

It tells you exactly what your problem is: You have multiple definitions of the main() function. It even tells you where they are. So currently your problem is that you have your own main.c() and the one that comes as part of the demo. Simply commenting out your own main() function allows you to get rid of that problem. Then, you'll hit the next problem: 

.\Objects\Widge_Create_Ugfx.axf: Error: L6218E: Undefined symbol dialGCreate (referred from gui.o).
.\Objects\Widge_Create_Ugfx.axf: Error: L6218E: Undefined symbol dialGetAngle (referred from gui.o).
.\Objects\Widge_Create_Ugfx.axf: Error: L6218E: Undefined symbol dialSetAngle (referred from gui.o).
.\Objects\Widge_Create_Ugfx.axf: Error: L6218E: Undefined symbol assert (referred from gfx_mk.o).

You haven't added the other source files that came as part of the demo/widget to the project (you're missing dial.c and probably dial.h is not in the include path, but I haven't checked that).

Share this post


Link to post
Share on other sites

I looked at the link below. He was talking about the error you said. But there is nothing defined in my main.c file.

Could you edit the example of the dial widget for the keil. So it could be a good example for everyone. I guess I do not understand :-)

http://www.keil.com/support/docs/3724.htm

 

Share this post


Link to post
Share on other sites
3 hours ago, RoboCix said:

But there is nothing defined in my main.c file.

Note that this is not about #defines. This is about function definitions (the C functions). There must only ever be one function named main in the entire program/application. The project you're having has two: One in main.c and one in gui.c. Simply remove the one in main.c (because the one in gui.c is the one from the demo that does everything you want) and you can continue to compile. Then you'll hit the next problem as described above.

Share this post


Link to post
Share on other sites

my main.c

Nothing extra is defined,and nothing code.only demo code.
Could it be wrong to dial.h? How can it be.

main.c.txt

Share this post


Link to post
Share on other sites

You need to get someone who can understand English better to help you with the instructions above. The instructions above have been clear and simple. We speak a limited range of languages and we run this forum in English. We do our best to help but we can't help where our words are not understood. 

Share this post


Link to post
Share on other sites

You are right my friend.:)

İ checked dial.c and then some error is correct.

I'm just getting an error right now. What can I do here?

 

.\Objects\Widge_Create_Ugfx.axf: Error: L6218E: Undefined symbol assert (referred from gfx_mk.o).

Share this post


Link to post
Share on other sites

Hi to everybody. :-) Does anyone have an idea about this error.?

İ feel ,Little to finish .

Share this post


Link to post
Share on other sites

That problem is not related to µGFX at all but is a problem with your c library as @inmarket mentioned. Your linker can't find the definition of the assert() function which is part of the c library - not of the µGFX library. There's not much we can do here as it's completely out of our hands.

Share this post


Link to post
Share on other sites

But I always use uvision. I worked on the ugfx project ahead of time, but I did not get any errors. I have not been able to do this project with uvision for a total of 1 month. I thought ugfx was easy, but it is not compatible with uvision. This project will be my final homework in university but it did not happen because it took too long.

Thank you for your interest.

Share this post


Link to post
Share on other sites

Embedded programming is not the same as normal application programming. There are a lot more things to consider and therefore the programming itself is more complex.

While uGFX simplifies talking to various types of lcd and provides a suite of tools to help embedded programmers in a portable manner, it is still programming for an embedded platform.

We therefore expect that people using uGFX have at least a basic understanding of c programming. Our aim is not to train people who do not understand c programming concepts (although we are supportive of their efforts) but to provide an unrivaled set of tools for embedded hardware and to support people in their use of that toolset.

The problems you have had above are nothing to do with embedded programming or uGFX. They clearly show your lack of understanding of simple c programming concepts. Even so, we have been generous in our repeated attempts to help you. To claim that uGFX is not compatible with uVision is false. The problem is that you are not understanding the error messages from your compiler even though they relate to normal c programming issues.

To then blame uGFX for missing your university deadline is silly. The issue is not uGFX but your programming skills.

As we have mentioned to you and warned you about before, we will not accept disparaging remarks on this forum. As this is the 2nd time we will now be banning you from posting on the forum. Don't try to get around it by signing up under a different name (as you did before), we will not allow this behaviour.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now