gpt4 book ai didi

c++ - 无法在 C++ 中使用 Boost 和 Eureqa 编译程序

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:50:15 24 4
gpt4 key购买 nike

所以我打算在 Xcode 中尝试一个简单的 Eureqa API 示例,如下所示: https://code.google.com/p/eureqa-api/

然而,当我试图编译它时,在这一行的 boost 头文件的 access.hpp 中似乎有一个错误:...

{
// note: if you get a compile time error here with a
// message something like:
// cannot convert parameter 1 from <file type 1> to <file type 2 &>
// a likely possible cause is that the class T contains a
// serialize function - but that serialize function isn't
// a template and corresponds to a file type different than
// the class Archive. To resolve this, don't include an
// archive type other than that for which the serialization
// function is defined!!!
t.serialize(ar, file_version);
}

...带有消息:“std::_1::pair”中没有名为“serialize”的成员

我应该怎么做才能解决这个问题?

最佳答案

看起来你只想包含标题

#include <boost/serialization/utility.hpp>

它定义了 std::pair<> 的序列化.

编辑 在发表评论(并到家)后,我用 boost 1.58 在 Linux 上重现了这个问题。的确,编辑eureqa/implementation/connection_impl.h包括

#include <boost/serialization/utility.hpp>
#include <boost/serialization/nvp.hpp>

修复它:

g++ basic_client.cpp \
-I/home/sehe/custom/boost/ \
-I../../ \
-c -o basic_client.o
g++ basic_client.o \
/home/sehe/custom/boost/stage/lib/libboost_system.a \
/home/sehe/custom/boost/stage/lib/libboost_serialization.a \
/home/sehe/custom/boost/stage/lib/libboost_date_time.a \
/home/sehe/custom/boost/stage/lib/libboost_thread.a \
-lpthread \
-o basic_client

::_1很可能是使用内联命名空间进行版本控制的库实现 (libc++) 的产物。

关于c++ - 无法在 C++ 中使用 Boost 和 Eureqa 编译程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30383394/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com