Content originally posted in LPCWare by dsidlauskas on Sun Mar 30 13:15:15 MST 2014 I find that Keil Uv4.7 is marking many of the symbols(eg __IO) in the LPCopen header (eg. gpdma_lpc18xx.h) files as undefined, even though the library (chip) builds OK.
Using a fresh copy of LPCopen and selecting one of the example multiprojects, I do not see this behavior
However, if I go to the \lpcopen_2_04_keil_iar_ngx_xplorer_1830\software\lpc_core\lpc_chip\chip_18xx_43xx directory and run the single chip library project lib_lpc_chip_18xx.uvproj I do see that behavior. That is, the __IO (and other declarations) are marked by Keil as not defined, even though the library builds without build errors.
It appears that there are some other dependencies that exist in the single project workspace that are resolved in the multiproject space. But what are they?
The situation described above is the simplest example I can come up with of a problem that I'm having with a real project. I don't know if a library built from the single project workspace works or not.
Does anyone have a clue about what's going on here?
Content originally posted in LPCWare by drs on Fri Apr 18 14:32:14 MST 2014 I find that ... files as undefined...
What do you mean by undefined? Do you mean it was unable to find those header files?
If this is the case then you may be maxing out the 255 character limit for the Windows command shell. There are many parameters that are placed on the command line when building this code base and if the base of LPCOpen is located in a long path then some of those command line arguments will be truncated.
To resolve this you can locate the base of the root directory of LPCOpen closer to the root directory on your drive. For example, if you are on drive c: then you might want to place it at c:\proj or something short like this.