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.

[参考译文] TMS320F28388D:如何将 C++文件添加到 C 项目中

Guru**** 2601915 points
Other Parts Discussed in Thread: TMS320F28388D

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1067873/tms320f28388d-how-to-add-a-c-file-to-a-c-project

部件号:TMS320F28388D

我想为 TMS320F28388D 创建一个 C++项目,但 Code Composer 没有为 C++项目提供选项,因此, 我创建了一个 C 项目,并尝试使用“文件”|“新建|源文件”向 C 项目添加一个 C++文件(.cpP),而 Code Composer 添加了.cpp 文件,自动在.cpp 页面顶部插入一个文件头,其中包含文件名,创建日期和作者。

然后,我在.cpp 文件中添加了一个定义为 int trial1(int m)的简单函数,并尝试构建项目,项目构建成功。

接下来,我在 main.c 文件中放置了 trial1()函数的原型(由 Code Composer 自动生成),项目构建成功。

但我当时试图在 main()中添加 trial1(),但该项目不会生成。 我在链接期间收到此错误消息:

文件 ./main.obj 中首次引用了未定义的符号试验1

错误#10234-D:未解析的符号仍然存在

错误#10010:链接期间遇到错误:MyProject.Out”未生成。

链接程序在我的.cpp 文件中似乎看不到 trial1()函数。

如何让链接器看到.cpp 文件和链接中的函数?

谢谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的先生/女士:  

    感谢您与 C/C++项目的合作。  正如您所知,C++比 C 有所改进,因此 C 语言应该被视为 C++的子集。  因此,最好先创建一个 C++项目,然后再向其添加 C 文件。   

    请参考以下指南: https://software-dl.ti.com/codegen/docs/tiarmclang/compiler_tools_user_guide/migration_guide/migrating_c_and_cpp_source/index.html 

    这里: https://software-dl.ti.com/ccs/esd/documents/users_guide/ccs_project-management.html ,帮助您处理 C/C++项目。

    如果您有其他问题,请随时联系我们。  

    此致,  

    克利须那

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我找到了答案:

    要向 C 项目添加 C++文件,只 需使用文件|新的|源文件(如我前面所述)添加 C++文件,然后对于 C++文件中的每个函数,在页面顶部创建一个函数原型,其前缀为:

    外部"C"

    因此,对于.cpp 文件中名为 int trial1(int m)的函数,您可以将相应的原型放在.cpp 文件的顶部:

    外部"C" int trial1(int);

    必须使用大写字母“C”。

    接下来,只需在 C 文件中放置一个相应的标准标题,如下所示:

    国际三级1 (int);

    然后我完成了这项工作,并且工作顺利。

    我从这个很棒的网页上获得了解决方案:

    https://isocpp.org/wiki/faq/mixing-c-and-cpp#call-cpp

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    正如我在上面所说,没有创建 C++项目的选项,所以我创建了 C 项目并添加了 C++文件;此外,所有 T.I.安装文件(外围设备,PIE 等)都是用 C 编写的