User forums > General (but related to Code::Blocks)
Some Issues on CB rev 7079 and older
MasterAlexei:
Hello all,
first of all, thanks for a great IDE! I just love it :)
With the issue with ThreadSearch I am still on waiting, when it occures, seems that it depends on count of files in project, at home I have not so much files in a projects.
But there are some other issues:
1. In "Project Build options" dialog, at "Linker settings" Tab in "Other Linker options" I usually add the list on my libs one more times, because of internal dependencies in libs. (see picture)
After saving the project, closing CB and then reopening it, the duplicated libs are removed, and the project then does not linking.
2. The file properties dialog:
The Checkbox "File is read only" on the "General" Tab is being checked, when I check the Checkbox "Use custom command line to build this file:" on the "Advanced" tab. And the file then being Read only, what is not needed.
And also if I check that check box "Use custom command ...", and then click "Cancel", the file will be Read only too.
It is not critical, but unexpected behavior :)
MortenMacFly:
--- Quote from: MasterAlexei on April 10, 2011, 11:37:46 am ---1. In "Project Build options" dialog, at "Linker settings" Tab in "Other Linker options" I usually add the list on my libs one more times, because of internal dependencies in libs. (see picture)
After saving the project, closing CB and then reopening it, the duplicated libs are removed, and the project then does not linking.
--- End quote ---
This makes no sense. You should use the left library list in this dialog and add the libs only one time in the right order. There is no such thing like a cyclic dependency possible. The linker would surely complain. What happens in your case is most likely that by adding the list another time the dependency is magically satisfied.
If you are unsure about the dependency order, do the following:
* Remove all libs, compile & link
* Note the first linker error (missing implementation)
* Add the library that provides this implementation
* Start again with compile and link
--- Quote from: MasterAlexei on April 10, 2011, 11:37:46 am ---The Checkbox "File is read only" on the "General" Tab is being checked, [...]
--- End quote ---
This might be a bug, I'll look into it...
MasterAlexei:
--- Quote from: MortenMacFly on April 10, 2011, 11:44:35 am ---This makes no sense. You should use the left library list in this dialog and add the libs only one time in the right order. There is no such thing like a cyclic dependency possible. The linker would surely complain. What happens in your case is most likely that by adding the list another time the dependency is magically satisfied.
If you are unsure about the dependency order, do the following:
* Remove all libs, compile & link
* Note the first linker error (missing implementation)
* Add the library that provides this implementation
* Start again with compile and link
--- End quote ---
I already tried it, but till now with no success. May be I should try it a little bit more accurately.
But in embedded world this approach is common thing ;-) and just to remove any double libs in a list without any warning - not a good idea, I think.
MortenMacFly:
--- Quote from: MasterAlexei on April 10, 2011, 11:49:39 am ---But in embedded world this approach is common thing ;-)
--- End quote ---
Weird. Can you explain why this makes sense and what the linker actually does in this case?
MasterAlexei:
--- Quote from: MortenMacFly on April 10, 2011, 03:25:55 pm ---
--- Quote from: MasterAlexei on April 10, 2011, 11:49:39 am ---But in embedded world this approach is common thing ;-)
--- End quote ---
Weird. Can you explain why this makes sense and what the linker actually does in this case?
--- End quote ---
In this project I did solved this by moving two first libs at the end of the list without to put them twice in the list.
It seems weird, but some times it happens :)
In other Project (not of mine, but one within ethernut projects) there was such dependency, that the program uses some function A from lib 1, that uses other function B in lib 2, that uses another function C in lib 1 (I don't know exactly the details of that issue anymore).
And in that case the linker didn't find some functions until the libs was not doubled in the libs list - it was official solution form ethernut team to that time.
In my project linker takes only the functions, used from the libs into final executable, not the whole libs twice. I see it with a exec's resulting size.
Navigation
[0] Message Index
[#] Next page
Go to full version