如何指示gcc/clang将临时文件输出到特定目录

17
在使用--save-temps选项保存临时文件时,gcc/clang会将临时文件输出到与输入文件相同的目录中。是否有一种选项可以指示gcc将文件输出到其他目录中。
或者,
当不使用--save-temps选项时,临时文件会被创建在默认目录中(例如$TMPDIR,如/tmp),但是一旦目标文件创建完成,这些临时文件就会被删除。是否有一种方法可以指示编译器保留这些文件而不仅仅是删除它们(我认为唯一的选项是--save-temps,但它存在上述问题)。
1个回答

19

我正在使用gcc版本4.3.4。 我尝试使用“=obj”,但它给出了错误“gcc:无法识别选项'-save-temps = obj'”。 我执行的命令是“gcc -c -w -save-temps=obj -ggdb -m32 test_code.c -o 32_test/test_code.o”。 有什么提示可以摆脱这个错误吗? - RKum
@RupeshKumar,在GCC 4.5.0之前,-save-temps选项不接受参数,因此要么只使用-save-temps选项,中间文件将与输入文件在同一目录中,要么升级您的编译器(4.3.4非常老)。 - Jonathan Wakely
感谢Jonathan的回复。我不能升级编译器,因为这可能会破坏一些东西。在makefile中,我使用了mv命令将中间文件移动到所需的目录。 - RKum
链接页面目前完全没有提到“-save-temps”。 - Riot
@Riot,谢谢,它已经移动到另一页了。您仍然可以通过所有选项列表找到它。 - Jonathan Wakely

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接