gpt4 book ai didi

scons - 如何添加链接器标志以在 scons 中创建编译器特定的可执行文件

转载 作者:行者123 更新时间:2023-12-02 04:52:46 27 4
gpt4 key购买 nike

我正在为不同的编译器使用 scons。vc10 和瑞萨编译器。如果我使用 env.program(---) 编译程序,我得到的链接标志为

“链接/nologo/subsystem:console/pdb:project.pdb/OUT:program.exe D:\build1\subdirA\subdirA.lib D:\build1\subdirB\subdirB.lib main.obj”

它适用于 VC10 编译器。但对于瑞萨(我的微 Controller )编译器,我收到类似的错误

“无法打开文件:“/OUT:program.exe””

链接时它将接受“-output=program.abs”命令。我怎样才能改变那个。你能告诉我吗

程序链接/OUT时:默认添加program.exe。

你能告诉我如何将其更改为“-output=program.abs”

谢谢

最佳答案

你想做的事情叫做cross-compile :编译一个Renesas二进制文件 Windows 。看起来你所做的就是加载 Windows VC10 SCons 中的工具集(SCons 会自动执行此操作,除非被告知不要这样做),并且只是更改了编译器二进制文件,因此 SCons 仍在使用 VC10 编译器/链接器标志,这似乎不兼容。我不得不对 SCons 做一次类似的事情,我在 Linux 环境中交叉编译了 Cavium Octeon,但幸运的是,几乎所有标志都是兼容的。

我对Renesas一无所知,但如果其编译标志与另一个平台/工具集更相似,则加载它们而不是 Windows,如下所示,我加载 Linux gcc 工具集。

env = Environment(tools = ['gcc'])

寻找Construction EnvironmentsSCons man page获取受支持工具的完整列表。请记住,通过执行此操作,您将不再支持 native 平台工具集 Windows VC10在你的情况下。

当您发现类似的平台时,并且您仍然需要更改一些编译器/链接器标志或选项,请查看更改相关的 SCons Construction Variables 。一些可能有用的信息是:CXXFLAGS, LIBSUFFIX, LINKFLAGS, OBJSUFFIX,PROGSUFFIXLINKFLAGS构造变量实际上是您原来问题的答案。

我在谷歌上搜索了 scons Renesas,并发现了这个 link这也可能有帮助。

关于scons - 如何添加链接器标志以在 scons 中创建编译器特定的可执行文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15596343/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com