Mik*_*ler 0 c++ eclipse linker
我一直在使用VS10来构建一个dll,但我想证明它也可以在Eclipse中完成.
Eclipse中的明显症状是链接器因激怒而失败:
LINK : fatal error LNK1104: cannot open file 'C:\Program.obj'
Run Code Online (Sandbox Code Playgroud)
这可能是因为某些东西没有保护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"
Run Code Online (Sandbox Code Playgroud)
Eclipse的命令回显是相同的,但没有引号(虽然这不一定证明什么,因为编译器回显没有显示它实际上使用的引号).
我找不到任何选项或合法的机制来让Eclipse在链接调用周围加上引号 - 但这必须是一个常见的要求.我错过了一些明显的事吗?
小智 6
在Eclipse> Project> Properties> Paths and Symbols> Libraries选项卡中,用单引号将库的路径括起来:
'C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Lib\Kernel32.Lib'
Run Code Online (Sandbox Code Playgroud)
会有一条警告说路径不存在,但是在重建项目后它应该会消失.
| 归档时间: |
|
| 查看次数: |
2709 次 |
| 最近记录: |