我在一台 Windows 10 机器上,我有 2 个文件,main.cpp 和 cuda.cu(我已经在 Ubuntu 上成功构建了这个项目,我正在尝试让它在 Windows 上构建)。我将它们都编译为 64 位架构的目标文件。我当前安装了 MS Visual Studio 2010,但我知道它太旧了。如果您认为这是造成此问题的原因,我可以安装 2015(但我不这么认为)。
当我尝试使用命令链接两个文件时
nvcc main.obj cuda.obj
我收到此错误:-
main.obj : fatal error LNK1143: invalid or corrupt file: no symbol for COMDAT section 0x6
我应该怎么办?
正如@RichardCritten 所指出的,
这些文件应该用 MSVC 编译,因为对象格式是
特定于工具链。 LNK1143 来自 MS 链接器,它不能
了解对方生成的 obj 文件的格式
工具链。
因此 MinGW 的 g++ 创建的目标文件无法通过 MSVC 与 cuda 程序的目标文件链接
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)