如何通过Xcode编译Quantlib?

时间:2017-04-21 19:54:46

标签: c++ xcode quantlib

我正在尝试在运行OSX 10.11.6的Mac上安装QuantLib。通过MacPorts安装了Boost 1.59,然后按照these说明进行操作。

我使用了这些额外的环境变量
./configure --with-boost-include=/opt/local/include/ \ --with-boost-lib=/opt/local/lib/ --prefix=/opt/local/ \ CXXFLAGS='-O2 -stdlib=libstdc++ -mmacosx-version-min=10.6' \ LDFLAGS='-stdlib=libstdc++ -mmacosx-version-min=10.6'
然后make && sudo make install
但是当我运行百慕大交换测试时,它给了我同样的错误here

小前提:我对C ++一无所知。我需要QuantLib来处理Python。所以我仔细阅读了SmallChess的答案并尝试自己解决。正如我在他的回答中所读到的那样

  

你不能只编译BermudanSwaption.cpp并希望一切都会好的。您必须编译整个QuantLib库并链接生成的库文件。请谷歌"编译和链接C ++"了解更多信息   到目前为止,在Mac上实现它的最简单方法是使用Xcode。您需要创建一个新的Xcode项目,并将整个Quantlib项目文件导入其中。接下来,您需要创建一个main()函数。 Xcode会自动编译和链接。

这正是我所做的:

  1. 在Xcode(版本8.2.1)中创建了一个新项目(文件/新项目/命令行工具/" HelloWorld" / Documents / create)
  2. 选择目标,构建阶段和链接二进制库。添加了libQuantLib.0.dylib
  3. 在构建设置
  4. 中将libstdc++(GNUC++ standard library)设置为C ++标准库
  5. 修改后的标头搜索路径,包括:/opt/local/include/和图书馆搜索路径,包括:/opt/local/lib
  6. C ++语言Dialect在Compiler Default上设置。
  7. 将ql文件夹拖到Xcode的左侧窗口
  8. 现在,我设法复制了一个包含库的简单代码,即使有很多警告,它也会运行。仍然当我在终端上运行百慕大交换测试的命令时,我得到了同样的错误。我究竟做错了什么?

    附加信息(可能有用也可能没用):如果我将Xcode上的C ++标准库设置更改为libc ++,我在Xcode上遇到的问题与我在尝试百慕大交换测试时得到的相同(ld:symbol(s)找不到架构x86_64)。

    非常感谢任何帮助 此致

    编辑:您可以在https://i.stack.imgur.com/1zhjO.png

    找到代码的图片

0 个答案:

没有答案