Code: Select all
/Users/.../SoftwareProjekte/FO/release/FreeOrion/Xcode/dep/local/include/boost/python/type_id.hpp: In function 'boost::python::type_info boost::python::type_id() [with T = const volatile DiplomaticStatusUpdateInfo&]':
/Users/.../SoftwareProjekte/FO/release/FreeOrion/Xcode/dep/local/include/boost/python/converter/registered.hpp:87: instantiated from 'const boost::python::converter::registration& boost::python::converter::detail::registry_lookup2(T& (*)()) [with T = const volatile DiplomaticStatusUpdateInfo]'
/Users/.../SoftwareProjekte/FO/release/FreeOrion/Xcode/dep/local/include/boost/python/converter/registered.hpp:94: instantiated from 'const boost::python::converter::registration& boost::python::converter::detail::registry_lookup1(boost::type<R>) [with T = const volatile DiplomaticStatusUpdateInfo&]'
/Users/.../SoftwareProjekte/FO/release/FreeOrion/Xcode/dep/local/include/boost/python/converter/registered.hpp:105: instantiated from 'const boost::python::converter::registration& boost::python::converter::detail::registered_base<const volatile DiplomaticStatusUpdateInfo&>::converters'
/Users/.../SoftwareProjekte/FO/release/FreeOrion/Xcode/dep/local/include/boost/python/converter/arg_to_python.hpp:209: instantiated from 'boost::python::converter::detail::value_arg_to_python<T>::value_arg_to_python(const T&) [with T = DiplomaticStatusUpdateInfo]'
/Users/.../SoftwareProjekte/FO/release/FreeOrion/Xcode/dep/local/include/boost/python/converter/arg_to_python.hpp:256: instantiated from 'boost::python::converter::arg_to_python<T>::arg_to_python(const T&) [with T = DiplomaticStatusUpdateInfo]'
/Users/.../SoftwareProjekte/FO/release/FreeOrion/Xcode/dep/local/include/boost/python/call.hpp:66: instantiated from 'typename boost::python::detail::returnable<T>::type boost::python::call(PyObject*, const A0&, boost::type<R>*) [with R = boost::python::api::object, A0 = DiplomaticStatusUpdateInfo]'
/Users/.../SoftwareProjekte/FO/release/FreeOrion/Xcode/dep/local/include/boost/python/object_call.hpp:19: instantiated from 'typename boost::python::detail::dependent<boost::python::api::object, A0>::type boost::python::api::object_operators<U>::operator()(const A0&) const [with A0 = DiplomaticStatusUpdateInfo, U = boost::python::api::object]'
/Users/.../SoftwareProjekte/FO/release/FreeOrion/Xcode/../AI/PythonAI.cpp:312: instantiated from here
/Users/.../SoftwareProjekte/FO/release/FreeOrion/Xcode/dep/local/include/boost/python/type_id.hpp:89: error: invalid use of incomplete type 'struct DiplomaticStatusUpdateInfo'
Code: Select all
template <class T>
inline type_info type_id(BOOST_EXPLICIT_TEMPLATE_TYPE(T))
{
return type_info(
# if !defined(_MSC_VER) \
|| (!BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \
&& !BOOST_WORKAROUND(BOOST_INTEL_CXX_VERSION, <= 700))
typeid(T)
# else // strip the decoration which msvc and Intel mistakenly leave in
python::detail::msvc_typeid((boost::type<T>*)0)
# endif
);
}
The respective code section in PythonAI.cpp is:
Code: Select all
void PythonAI::HandleDiplomaticStatusUpdate(const DiplomaticStatusUpdateInfo& u) {
try {
// call Python function to inform of diplomatic status update
object handleDiplomaticStatusUpdatePythonFunction = s_ai_module.attr("handleDiplomaticStatusUpdate");
handleDiplomaticStatusUpdatePythonFunction(u);
} catch (error_already_set err) {
PyErr_Print();
}
}
As usual, I'm baffled, confused and clueless - ??? Anyone any ideas?