工具/软件:Code Composer Studio
大家好,
我对CCS7有一个小问题(在CCS6中也存在):它链接了它可以找到的构建目录中的所有*。obj和*。o文件,甚至是它没有创建的文件。 令人烦恼的缺点是,如果.o或.obj文件是由其他工具创建的,CCS将产生非常奇怪和大量的错误。
是否可以更改? 我认为这不是预期行为,因为当先前版本的源目录中有一个杂散的.o文件时,它会导致在版本中不必要地包含符号和数据。
谢谢,
丹
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:Code Composer Studio
大家好,
我对CCS7有一个小问题(在CCS6中也存在):它链接了它可以找到的构建目录中的所有*。obj和*。o文件,甚至是它没有创建的文件。 令人烦恼的缺点是,如果.o或.obj文件是由其他工具创建的,CCS将产生非常奇怪和大量的错误。
是否可以更改? 我认为这不是预期行为,因为当先前版本的源目录中有一个杂散的.o文件时,它会导致在版本中不必要地包含符号和数据。
谢谢,
丹
Dan Cermak 说:我不认为这是预期行为,[/QUOT]
Dan,
事实上,这是预期的行为。 项目目录中的所有文件都被视为构建的一部分:如果它们是源文件,则将被传递到编译器;如果它们是目标文件,则将被传递到链接器。
有几种方法可以解决此问题:
1)您可以明确 排除 不希望包含在链接中的目标文件
2)您可以添加其他清理命令来删除特定/所有目标文件,以便它们在"清理项目"期间运行。 有关 示例,请参阅此Wiki部分。
希望这有所帮助。
嗯,这是一个奇怪的默认选择。 我想没有办法改变这种行为? 如果我正确理解CCS,它将使用make under the Hood来生成项目,因此必须为链接程序显式指定目标文件。 这是以一种易于修改的方式编写的,还是必须修改食脂来源?
无论如何,我知道如何解决这个问题。 在打开CCS之前,我在我的生成目录中运行scons -c,这通常是有效的,除非我重命名了文件,并且没有删除任何遗留的目标文件(scons不会关心这些文件,因此也不会清理它们)。