文件:
D:\Program Files (x86)\Microsoft Visual Studio 9.0
D:\Program Files (x86)\Microsoft Visual Studio 9.0\boost_1_50_0
D:\Program Files (x86)\Microsoft Visual Studio 9.0\QuantLib-1.2
D:\Program Files (x86)\Microsoft Visual Studio 9.0\QuantLib-SWIG-1.2
D:\Program Files (x86)\Microsoft Visual Studio 9.0\swigwin-2.0.7
D:\Python27在严格遵循http://quantcodetips.blogspot.com/2012_02_01_archive.html中描述的方法的同时,在visual studio 2008命令提示符中设置之后
set INCLUDE=D:\Program Files (x86)\Microsoft Visual Studio 9.0\boost_1_50_0
set QL_DIR=D:\Program Files (x86)\Microsoft Visual Studio 9.0\QuantLib-1.2
set LIB=D:\Program Files (x86)\Microsoft Visual Studio 9.0\QuantLib-1.2\ql\Release\;
D:\Program Files (x86)\Microsoft Visual Studio 9.0\boost_1_50_0\stage\lib\并将名称QuantLib-boost1.50-msvc9.obj (D:\Program Files (x86)\Microsoft Visual Studio9.0\QuantLib-1.2\ql\Release)改为QuantLib-vc90-mt.obj;
然后转到QuantLib-SWIG 1.2,使用
python setup.py build --compiler=msvc出现链接错误。
D:\Program Files (x86)\Microsoft Visual Studio 9.0\QuantLib-1.2\ql/time/calendar
s/argentina.hpp : warning C4819: The file contains a character that cannot be re
presented in the current code page (936). Save the file in Unicode format to pre
vent data loss
D:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\link.exe /DLL /nologo
/INCREMENTAL:NO /LIBPATH:D:\Python27\libs /LIBPATH:D:\Python27\PCbuild "/LIBPATH
:D:\Program Files (x86)\Microsoft Visual Studio 9.0\QuantLib-1.2\lib" "/LIBPATH:
D:\Program Files (x86)\Microsoft Visual Studio 9.0\QuantLib-1.2\ql\Release\" "/L
IBPATH:D:\Program Files (x86)\Microsoft Visual Studio 9.0\boost_1_50_0\stage\lib
\" /EXPORT:init_QuantLib build\temp.win32-2.7\Release\QuantLib/quantlib_wrap.obj
/OUT:build\lib.win32-2.7\QuantLib\_QuantLib.pyd /IMPLIB:build\temp.win32-2.7\Re
lease\QuantLib\_QuantLib.lib /MANIFESTFILE:build\temp.win32-2.7\Release\QuantLib
\_QuantLib.pyd.manifest /subsystem:windows /machine:I386
LINK : fatal error LNK1181: cannot open input file 'Files.obj'
error: command '"D:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\link.
exe"' failed with exit status 1181寻求帮助。
发布于 2012-07-23 18:49:01
Python distutils模块(用于构建包装器)的路径名中存在空格问题。将QuantLib和Boost文件夹移出C:\Program Files,相应地更改INCLUDE、QL_DIR和LIB变量,然后重试。
顺便说一句,我读了你引用的链接的说明,我不会太严格地遵循它们。例如,您可以使用提供的VC++2008解决方案文件(QuantLib_vc9.sln),而不是自己创建新项目。这也将避免对库进行重命名的需要,因为它将以正确的名称创建它,并且不需要从发行版中删除内容(这是有原因的)。但是如果你都准备好了,这个可以等一下。
https://stackoverflow.com/questions/11589648
复制相似问题