2011-07-01 3 views
4

파이썬을 일부 C++ 코드에 임베드하기 위해 노력하고 있습니다. 그러나 컴파일이 지연되고 있습니다. 헤더 파일의 경우 C++ 라이브러리에 파이썬 임베드하기

, 나는 시도 초기 것이다

#include <Python.h> 

,

$g++ EmbeddedPython.cpp 

을 가지고 있지만

EmbeddedPython.cpp:1:20: error: Python.h: No such file or directory 
EmbeddedPython.cpp: In function ‘int main(int, char**)’: 
EmbeddedPython.cpp:6: error: ‘Py_Initialize’ was not declared in this scope 
.... 

그만 둘 것 나는 그

g++ EmbeddedPython.cpp -I/System/Library/Frameworks/Python.framework/Versions/2.5/include/python2.5 
시도

하고는 처음 두 오류를 제거,하지만, 난 여전히

Undefined symbols: 
    "_Py_Initialize", referenced from: 
    _main in ccxJAUAB.o 

나는이 새로운 약간의이야으로 결국,하지만 난 빨리 배우고 생각되었다. 도서관에 '링크'해야한다고 생각하니? 그러나 어느 것이고 어떻게? 동적 또는 정적이 필요합니까?

저는 MacBook Pro에서 작업하고 있습니다.

+0

또한 MacBook Pro, python2.5, python2.6 및 python2.7이 있습니다. – csta

+0

나는 /usr/lib/libpython.dylib을 추가했습니다. – csta

답변

4

libpython과 연결해야합니다. 유닉스 프로그래머는 link 명령에서 "-lpython"을 사용하여이를 수행합니다 (즉, "g ++"명령의 끝 부분에서). Mac에서는 "프레임 워크 파이썬"이라고 생각합니다.

+0

감사합니다. 내가 입력 할 수있는 형식이 없기 때문에 -I/System/Library/Frameworks/Python.framework/Versions/2.5/include/python2.5를 입력 할 필요가 없습니다. – csta

+0

Apple의 gcc가 무엇을하는지 정확히 모릅니다. 프레임 워크. "-framework Python"이 그 일을 처리하지 않는다면, 여러분은 여러분이 가지고있는 것에 매달렸다고 생각합니다. – aksommerville

관련 문제