首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cygwin:在cygwin中安装quantlib

Cygwin:在cygwin中安装quantlib
EN

Stack Overflow用户
提问于 2014-03-20 03:07:44
回答 1查看 431关注 0票数 0

我尝试在Cygwin和Boost_1_55_0上安装QuantLib-1.4,主要通过以下步骤:http://quantess.net/2012/09/26/quantlib-get-it-working-on-ubuntu/

安装后,我运行quantlib的测试用例,没有检测到错误:

代码语言:javascript
复制
xxx@xxx /usr/local/lib/QuantLib-1.4/test-suite
$ ./quantlib-test-suite.exe
Running 567 test cases...

Tests completed in 15 m 20 s


*** No errors detected

然而,当我运行一个简单的代码(main.cpp)时:

代码语言:javascript
复制
#include <ql/quantlib.hpp>

int main(){
    return 0;
}

链接器错误似乎会发生。

代码语言:javascript
复制
xxx@xxx /usr/local/lib
$ g++ -lQuantLib main.cpp
/tmp/ccvjpqgC.o:main.cpp:(.text$_ZNK8QuantLib4DateplERKNS_6PeriodE[__ZNK8QuantLib4DateplERKNS_6PeriodE]+0x2e): undefined reference to `QuantLib::Date::advance(QuantLib::Date const&, int, QuantLib::TimeUnit)'
/tmp/ccvjpqgC.o:main.cpp:(.text$_ZN8QuantLib5ErrorD1Ev[__ZN8QuantLib5ErrorD1Ev]+0xd): undefined reference to `vtable for QuantLib::Error'
/usr/lib/gcc/i686-pc-cygwin/4.8.2/../../../../i686-pc-cygwin/bin/ld: /tmp/ccvjpqgC.o: bad reloc address 0xd in section `.text$_ZN8QuantLib5ErrorD1Ev[__ZN8QuantLib5ErrorD1Ev]'
collect2: error: ld returned 1 exit status

我尝试将INCLUDE_PATH和LIBRARY_PATH添加到windows的环境变量中,但差别不大。这里有什么帮助吗?(我对gcc和linux非常陌生.谢谢)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-04 09:35:54

抱歉,我这么晚才来参加聚会。

这是gcc的怪癖。你的命令不管用,但是

代码语言:javascript
复制
g++ main.cpp -lQuantLib

相反,可以这样做(例如,请参阅Why does the order in which libraries are linked sometimes cause errors in GCC?以获得一个粗略的解释;简而言之,gcc从左到右扫描参数,如果它是第一个参数,则不会从QuantLib加载任何内容,因为目前还没有其他代码要求它的任何功能)。

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

https://stackoverflow.com/questions/22522682

复制
相关文章

相似问题

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