免责声明:我是一名几乎没有VS C ++ / MFC经验的C#家伙。
我正在尝试在我的机器上构建一些混合C ++ / .Net的项目。通过我的机器上的命令行编译C ++项目时,我收到此错误:
LINK:致命错误LNK1000:IMAGE :: BuildImage期间出现内部错误[SOURCE_CODE_PATH_TO_VCPROJ]
我的Link.exe版本是:9.00.30729.1
触发此操作的代码行非常简单:
System :: String ^ fullPath = gcnew System :: String(dllpath);
当我放弃gcnew的东西,只是在其位置硬编码一切都正确编译。
谷歌搜索这会导致很多帖子说这个问题已通过VS2008 SP1中包含的kb948127修复。我已经验证我安装了这个特定的修补程序。我还验证了使用/ INCREMENTAL:NO设置禁用了增量链接,但我仍然遇到每次编译时的错误。
我缺少一个设置或开关吗?有没有人遇到过这类问题?
答案 0 :(得分:3)
我通过修改代码使用marshal_as convert来创建System :: String ^,但链接器错误已经消失,但我不清楚实际上是从原始代码触发了链接器错误。
这是我换出的一行:
System :: String ^ fullPath = marshal_as(dllPath);
答案 1 :(得分:0)
我遇到了类似的错误:
Linking...
TapCommandFormat.lib(CTapCommandDisplay.obj) : fatal error LNK1000: unknown error; consult documentation for technical support options
Error executing link.exe (tool returned code: 1000)
ITP - 1 error(s), 0 warning(s)
原来这是因为我的系统耗尽了虚拟内存。我关闭了一个巨大的文档,它占用了大约1.4GB的虚拟内存,问题就消失了......
$ 0.02