在命令行中编译库时出错

时间:2012-05-07 11:22:21

标签: windows visual-studio compiler-errors nmake

我正在尝试编译这个库: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,我想我的路径变量中有所有正确的文件夹,但我是新手,所以我不完全确定。我做错了什么?

3 个答案:

答案 0 :(得分:4)

您对该行有引用问题: / 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"

答案 1 :(得分:1)

检查kb 815645是否有帮助:

  

您在构建托管C ++应用程序时收到“fatal error LNK1181”错误消息

fatal error LNK1181: cannot open input file 'C:\Program.obj'
  

场景2:

     

如果将非限定文件添加到Additional Dependencies项目属性,并且该文件在LNK1181环境中定义的任何搜索目录中不存在,也可能发生链接器错误LIB变量或/LIBPATH项目属性   您可以将包含库文件的目录添加到LIBPATH以解决问题:

     
      
  • 在“解决方案资源管理器”中,右键单击该项目,然后单击“属性”。
  •   
  • 在“属性页”对话框中,展开“链接器”,然后单击“常规”。   在Additional Library Directories字段中,指定所需的库路径。
  •   

答案 2 :(得分:0)

您收到错误:“LINK:致命错误LNK1181:无法打开输入文件'Files.obj'” 因为链接器认为您正在将文件“Files”添加为输入库之一。 这来自“C:\ Program Files(x86)”(参见“文件”?); - )