首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在visual C++ 2008 express中通过python进行的quantlib-swig绑定,出现链接错误

在visual C++ 2008 express中通过python进行的quantlib-swig绑定,出现链接错误
EN

Stack Overflow用户
提问于 2012-07-21 13:07:57
回答 1查看 445关注 0票数 1

文件:

代码语言:javascript
复制
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命令提示符中设置之后

代码语言:javascript
复制
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,使用

代码语言:javascript
复制
 python setup.py build --compiler=msvc

出现链接错误。

代码语言:javascript
复制
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

寻求帮助。

EN

回答 1

Stack Overflow用户

发布于 2012-07-23 18:49:01

Python distutils模块(用于构建包装器)的路径名中存在空格问题。将QuantLib和Boost文件夹移出C:\Program Files,相应地更改INCLUDE、QL_DIR和LIB变量,然后重试。

顺便说一句,我读了你引用的链接的说明,我不会太严格地遵循它们。例如,您可以使用提供的VC++2008解决方案文件(QuantLib_vc9.sln),而不是自己创建新项目。这也将避免对库进行重命名的需要,因为它将以正确的名称创建它,并且不需要从发行版中删除内容(这是有原因的)。但是如果你都准备好了,这个可以等一下。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11589648

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档