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
我正在我的工作区中的一个POWER_measurement示例项目的副本上进行黑客攻击,该项目位于CCS 6.2 v.0.005万下。
我已将bma222drv.h "链接"到我的项目中。 检查文件的“属性”将显示正确的链接。
我得到一个红色的"X"(滚动显示"#1965 Cannot open source file "bma222drv.h" from CCS (#1965无法从CCS打开源文件"bma222drv.h")。
我看过其他帖子,似乎说我需要指定包含文件的OOB项目位置。 我不想这样做,因为我不想编译器在那里四处寻找我可能忘记的东西。
由于CCS和编译器已在OOB项目中明确正确地解决了我到bma222drv.h的链接(请参阅屏幕截图),并且存在文件(我可以单击链接并打开),这是什么问题?
拉尔夫
编译器不在指定的包含路径下搜索。 这是编译器的标准行为。 我想有人可以实施 一个搜索子目录的目录,但这会导致许多结果不一致的情况,并产生重大的性能问题。
当您添加"链接"文件时,它只会在其中一个项目文件中添加一个条目,指定该文件已链接,项目目录中不会有任何文件。 令人困惑的部分原因是,C文件和.H文件似乎有所不同。 这是因为. C文件是输入文件。 IDE将收集输入文件并将其传递给编译器。 头文件不会传递给编译器,编译器在编译期间在输入文件中遇到#include语句时会查找这些文件。 当查找它们时,它使用#include语句(""或<>和任何路径信息)中的信息和include搜索路径。
如果您有一组在项目之间共享的输入文件,您可以将它们放在一个公用文件夹中,然后搜索每个项目的搜索路径以指向该文件夹。
另一件事是管理搜索路径顺序。 编译器将使用在搜索路径中找到的第一个文件。 例如,如果项目的/inc文件夹中有一个file.h,而公共头文件文件夹中有另一个file.h,则只需确保项目/inc文件夹的路径列在公共文件夹的上方,然后编译器将使用项目中的路径 只有在找不到公用文件夹时,它才会使用公用文件夹中的公用文件夹。
一个更容易做的事情是,当链接.h文件时,该文件的路径会自动添加到搜索路径中。 我可以提出请求。 我不确定我们是否有能力改变它,但它值得检查。
此致,
John