c++ - 命令行错误 D8003 : missing source filename When linking

标签 c++ visual-studio-2010 autotools

我正在使用 Autotools 编译 Matlab 模块。本来我们是用Libtool来完成的,但是跟微软的编译器打交道真的很糟糕。因此,我们将删除适用于 Windows 版本的 Libtool。

以下是一些可能有用的信息:

$ cl /V
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.30319.01 for 80x86
Copyright (C) Microsoft Corporation.  All rights reserved.


$ uname -a
CYGWIN_NT-6.1 RatTop 1.7.18(0.263/5/3) 2013-04-19 10:39 i686 Cygwin

不幸的是,我遇到了无法解释的链接错误:

CXXLD    AverageFilter.mexw32
cl  /DTRILIBRARY /DANSI_DECLARATORS /DNO_TIMER /D_HAVE_MATLAB_MODULES_ /D_GNU_SOURCE -O2 -DWIN32 -D_INTEL_WIN_ -EHsc /link /OUT:AverageFilter.mexw32 AverageFilter.obj /DLL /export:mexFunction /link /LIBPATH:"C:/root/extern/lib/win32/microsoft" libmx.lib libmex.lib libmat.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /INCREMENTAL:NO /manifest ./libISSMMatlab.a ../../c/libISSMModules.a ../../c/libISSMCore.a C:/root/home/Daeden/issm/trunk-jpl/externalpackages/petsc/install/lib/libpetsc.lib /link /LIBPATH:"C:/root/home/Daeden/issm/trunk-jpl/externalpackages/petsc/install/lib" libpetsc.lib /nologo
cl : Command line error D8003 : missing source filename
Makefile:860: recipe for target `AverageFilter.mexw32' failed

谁能解释一下如何摆脱这个错误?如果我正在尝试编译,那将是有意义的,但我只是在尝试链接。

最佳答案

刚编译的时候遇到这个错误。对我来说,这是因为编译器无法处理结尾的斜杠。

/external:I "$(WindowsSdkDir)"

扩展为

/external:I "C:\Program Files (x86)\Windows Kits\10\"

哪个触发了错误。附加一个点为我修复了它:

/external:I "$(WindowsSdkDir)."

关于c++ - 命令行错误 D8003 : missing source filename When linking,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16677020/

相关文章:

c# - 如何使用 vim 构建或编译 VS2010/XNA4 项目?

c# - 如何使用 EnvDTE 在 vi​​sual studio 中添加指向文件的链接

android - 为 Android 编译基于 autotools 的共享 C 库的最简单方法?

Git差异忽略

c++ - 在不使用数据库的情况下在进程之间共享设置?

c++ - 婚前征服凸包算法的实现问题

c++ - 如何在没有高 CPU 使用率的情况下在 OpenGL 游戏中正确渲染模型(带纹理的网格)?

c# - 项目引用在 VisualStudio2010 中不起作用

c - 如何告诉自动工具在不同的文件夹中使用不同的实现

C++ 错误 (202) : Command token too long