在命令行中编译库时出错
Posted
技术标签:
【中文标题】在命令行中编译库时出错【英文标题】:Errors when compiling library in command line 【发布时间】:2012-05-07 11:22:20 【问题描述】:我正在尝试编译这个库:http://www.mega-nerd.com/SRC/win32.html。但我遇到了一些麻烦。以下是发生的事情:
C:\libsamplerate-0.1.8>make
1 file(s) copied.
1 file(s) copied.
Microsoft (R) Program Maintenance Utility Version 10.00.30319.01
Copyright (C) Microsoft Corporation. All rights reserved.
link.exe /nologo /dll /incremental:no /libpath:""C:\Program Files (x86)\
Microsoft Visual Studio 10.0\Common7\IDE"\Lib" /pdb:"libsamplerate-0.pdb" /impli
b:".\libsamplerate-0.lib" /machine:I386 /out:"libsamplerate-0.dll" /def:".\Win32
\libsamplerate-0.def" ".\src\samplerate.obj" ".\src\src_linear.obj" ".\src\src
_zoh.obj" ".\src\src_sinc.obj"
LINK : fatal error LNK1181: cannot open input file 'Files.obj'
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 10.0
\VC\BIN\link.exe"' : return code '0x49d'
Stop.
我在尝试编译之前运行 vcvars32.bat,我认为我的路径变量中有所有正确的文件夹,但我是新手,所以我不完全确定。我做错了什么?
【问题讨论】:
【参考方案1】:您对以下行有引用问题:
/libpath:""C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE"\Lib"
应该是:
/libpath:"C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\Lib"
【讨论】:
【参考方案2】:检查kb 815645 是否没有帮助:
您在构建托管 C++ 应用程序时收到“
fatal error LNK1181
”错误消息
fatal error LNK1181: cannot open input file 'C:\Program.obj'
场景 2:
如果您将不合格的文件添加到 Additional Dependencies 项目属性,并且该文件不存在于
在解决方案资源管理器中,右键单击项目,然后单击“属性”。 在“属性页”对话框中,展开“链接器”,然后单击“常规”。 在 Additional Library Directories 字段中,指定所需的库路径。LIB
环境变量或 @ 987654326@项目物业。 您可以将包含库文件的目录添加到LIBPATH
以解决问题:
【讨论】:
【参考方案3】:您收到错误:“链接:致命错误 LNK1181:无法打开输入文件 'Files.obj'” 因为链接器认为您正在添加文件“文件”作为输入库之一。 这来自“C:\Program Files (x86)”(参见“文件”?);-)
【讨论】:
以上是关于在命令行中编译库时出错的主要内容,如果未能解决你的问题,请参考以下文章
Rails:运行 wkhtmltopdf 时出错——(加载共享库时出错)