0
C++로 함수를 작성하고 성공적으로 작성했습니다.부스트 파이썬 C++ 함수가 다른 함수를 호출하는 중 오류가 발생했습니다.
그러나 C++의 다른 함수에서 호출하면 빌드가 실패합니다.
double getlistvalue(boost::python::list l, int index)
{
if (index = -1)
return 0;
else
return boost::python::extract<double>(l[index]);
}
double xx(boost::python::list l, int index)
{
return getlistvalue(l, index);
}
위의 코드는 두 번째 기능없이 빌드합니다. error info
그것을 해결하는 방법에 대한 아이디어를 공유하십시오 : 여기
오류 정보입니다. 고마워.
답장을 보내 주셔서 감사합니다. 답이 맞으면 문제가 해결됩니다. 다른 방법은 boost/python 헤더를 포함하기 전에 #define BOOST_PYTHON_STATIC_LIB를 추가하는 것입니다. 비슷한 문제가있는 사람들에게만 해당됩니다. – datalearning
@datalearning 파이썬리스트에는 복사 생성자가 있습니다. 오류 메시지 (확인되지 않은 기호)는 적절한 기호 가시성을 가진 Boost.Python 라이브러리에 링크해야 함을 나타냅니다. 파이썬 객체는 참조 카운트되며 Boost.Python 객체는 본질적으로 스마트 포인터입니다. 결과적으로 이러한 객체를 값으로 전달하는 것은 저렴합니다. –