2009-04-13 17 views
1

我已經花了半小時尋找解決方案,而且一切都涉及到GCC。我在這裏做的工作對於GCC來說工作得很好,但是我使用TinyCC,而這正是我感到困惑的地方。首先代碼:試圖將python嵌入到tinycc中,表示python符號未定義

#include <Python.h> 
#include <stdio.h> 
int main(int argc, char*argv[]) 
{ 
    Py_Initialize(); 
    PyRun_SimpleString("print(\"Hello World!\")"); 
    Py_Finalize(); 
    return 0; 
} 

我然後調用TCC像這樣:

tcc -o tinypyembed.exe tiny.c -IC:\Python26\include -LC:\Python26\libs -lpython26 

然後它變成一個大胖子混蛋,吐出

tcc: undefined symbol 'Py_Initialize' 
tcc: undefined symbol 'PyRun_SimpleStringFlags' 
tcc: undefined symbol 'Py_Finalize' 

我完全在我無計可施如果有人知道發生了什麼,真的很感激。

在詢問一位朋友試用此功能後,我發現它實際上是一個Windows問題。可能這會留在這裏作爲一個警告,任何人都可能在Windows上使用python嘗試tinycc。

回答

3

您是否使用tiny_impdef.exe爲Python DLL創建.def文件?

爲Windows
+0

那麼你知道什麼! :D非常感謝:D – 2009-04-13 08:56:53

2

完整的解決方案:每bk1e的建議

  1. tiny_impdef作爲

    tiny_impdef.exe c:\WINDOWS\system32\python25.dll

  2. 添加python25.def(或python26.def),以編輯列表

    tcc tiny.c python25.def -IC:\Python25\include -LC:\Python25\libs -lpython25

    (用Python2.6替換25爲26)

相關問題