linker paths

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

linker paths

3,395 次查看
JohnnyG
Contributor I
OK, I've read through the archives, I've contacted Tech Support, and I've never been able to solve this problem. My project has several targets ( 36 at the present time), four of which are libraries. I need the application targets to link against the generated library targets - and I prefer that no explicit paths be used.

I tried setting Target/Access Paths/User Paths to {Project}/bin ( as suggested by Tech Support) but the linker doesn't find the libraries. I have to force the linker to find the libraries by setting Linker/GNU Linker/Linker flags to -L /path/ProjectName/bin where /path/ProjectName is where the .mcp file (and thus the "Project") is.

That's inconvenient - if I want to do a snapshot build and not roil the files in my sandbox, I have to either rename directories, or make a sandbox in /path/SomeOtherProjectName and twiddle all of the targets' Linker flags to -L /path/SomeOtherProjectName/bin .

Is there any chance of getting this to work correctly?

Thanks,
John

标签 (1)
标记 (1)
0 项奖励
6 回复数

656 次查看
CrasyCat
Specialist III
Hello
 
- Which CPU are you targeting (HC08, HC12, Coldfire, ..)
- Which version of CodeWarrior are you using?
  To retrieve that info:
    - Start CodeWarrior
    - Select Help -> About Freescale CodeWarrior
    - Click on "Install Products"
    - CodeWarrior version used is displayed on top in the Installed Products dialog.
 
Can you send me the whole product line(s)?
 
CrasyCat
0 项奖励

656 次查看
JohnnyG
Contributor I
We are targeting the 8271 processor.

The "Install Products" has never been there. I've been asked before. But cwide --version provides IDE version 5.7.0 Build 1917, though the product is run from a directory 2.6_060213 which leads me to believe the last update we managed to a) get and b) get installed is dated 13 Feb 2006. I hope this is sufficient information.
0 项奖励

656 次查看
Voxan
Contributor III
Hi Johnny,

according to the last info you provided, you are targeting a 8271 from a Linux box running CW  Platform or Application Edition v2.6.  Your  current project is using a GCC tool chain. Could you please confirm those points??

By design CodeWarrior IDE handles the Freescale native build tools (via a .dll version) via a deep integration, the project manager is then taking care of everything. BUT CodeWarrior IDE is also able to handle external build tools, in this case one of the GCC tool chains, in this case the build tools are cmd line based and called from the IDE (as opposed to integrated version). In order to launch the build process, on external build tools, the CodeWarrior project manager needs precise information from the developer (the one you need to provide as you explained).

In order to workaround your issue I see 2 different ways:
   * either switch your project to Freescale native build tools, and it will work as a charm
   * or create more build target for your apps and libs in order to target a different output directory (as this setting is build target dependent).

Hope this helps...

Best Regards
0 项奖励

656 次查看
JohnnyG
Contributor I
Thanks for the reply. Sorry for the delay - I just came up for air, but the feature works :smileywink:

Yeah, we're using the GCC tools external to the IDE, so I guess I'm just stuck. We can't, I'm told, use the Freescale compiler and linker,  either because we don't have them or some other reason.

So I'm stuck with what I have - building different targets is the same as moving a whole build tree to a different directory and pointing all of the targets to the new path. C'est la guerre.

Thanks for taking the time to explain that it can't be done, rather than insisting that I'm doing something wrong.

Happy Trails,
John

0 项奖励

656 次查看
JohnnyG
Contributor I
Wow! I see I'm now a "trusted contributor". You must have very low bars :smileyvery-happy:

0 项奖励

656 次查看
Alban
Senior Contributor II
Hi Johnny,

You got trusted contributor because you give enough information and people rated your posts as useful.
May be because you ask the questions people didn't dare asking but always wanted to know.

The status is "volatile". With only 3 ratings you currently have an average of 4 out of 5.
One rating below 4 will change your average below 4 and will not be Trusted.
It come and goes depending on the participation, I like it.
Every post, so every individual can be rated.
I have to say I like this system, so you can highlight appreciated participation and also see members with less helpful behaviour.

If you wish, you can open a thread in the Forum Use, Policies, and General Questions on the subject. You will be able to see there are different opinions.

Cheers,
Alban.
0 项奖励