在Eclipse中为'link'命令添加引号

时间:2012-05-08 11:36:55

标签: c++ eclipse linker

我一直在使用VS10构建一个dll,但我想证明它也可以在Eclipse中完成。

Eclipse中的明显症状是链接器因激怒而失败:

LINK : fatal error LNK1104: cannot open file 'C:\Program.obj'

这可能是因为某些东西没有保护C:\ Program Files(x86)...中的空格,我有几个。

我可以通过将命令复制到CMD提示符并手动在包含空格的参数周围添加引号来运行命令,因此我99.9%确定问题是Eclipse没有在这些参数周围添加引号。 工作命令是:

link /DLL /debug /nologo /OUT:PIDExternalController.dll main.obj C:\Opt\Bladed\Main\Test\Code\ExternalController\Debug\ExternalControllerApi.lib "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib\delayimp.lib" "C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Lib\Kernel32.Lib" "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib\oldnames.lib" "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib\msvcrt.lib"

Eclipse的命令回显是相同的,但没有引号(虽然这不一定证明什么,因为编译器回显没有显示它实际上使用的引号)。

我找不到任何选项或合法机制来让Eclipse在链接调用周围加上引号 - 但这个必须是一个常见的要求。我错过了一些明显的东西吗?

1 个答案:

答案 0 :(得分:6)

在Eclipse中>项目>属性>路径和符号> “库”选项卡用单引号括起库的路径:

'C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Lib\Kernel32.Lib'

警告路径不存在,但在重建项目后它应该消失。