工具/软件:TI-RTOS
您好,
当我尝试将附加的示例项目编译为C++时,收到一个未定义的符号错误。
我是否应该做些特别的事情来使它与C++协同工作?
斯蒂芬
e2e.ti.com/.../F2.8335万_5F00_example_5F00_BIOS5_5F00_flash.zip
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.
工具/软件:TI-RTOS
您好,
当我尝试将附加的示例项目编译为C++时,收到一个未定义的符号错误。
我是否应该做些特别的事情来使它与C++协同工作?
斯蒂芬
e2e.ti.com/.../F2.8335万_5F00_example_5F00_BIOS5_5F00_flash.zip
e2e.ti.com/.../F2.8335万_5F00_example_5F00_BIOS5_5F00_flash_5F00_BUILD_5F00_OUTPUT.txt
stevenh 说:由于所有文件都编译为c++文件,我不认为会有任何名称转换问题。[/QUOT]
我不是C++的人,但很明显,当编译为C++时,名称转换不会发生。
为了适应这种名称转换的缺失(即前导下划线),您需要ASM文件标签不带"_"。 我建议您在ASM文件中对每个全局文件进行双重标记-一个标签带有 前导 "_",另一个标签没有前导"_",以便ASM文件可用于C和C++引用。
您还需要防止tconf在.tcf文件中为prog.extern (label)语句应用前导"_"。 可以通过向“C++”的prog.extern提供第二个参数来实现此目的。 例如,更改
prog.extern ("Userinit");
至
prog.extern ("Userinit","C++");
此致,
- Rob