Пытаясь встроить Python в tinycc, говорит, что символы Python не определены

1

Я буквально провел последние полчаса, чтобы найти решение этого, и все включает GCC. То, что я здесь делаю, отлично работает с GCC, но я использую TinyCC, и именно здесь я запутался. Сначала код:

#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'

Я полностью в своем уме и действительно ценю это, если кто-то знает, что случилось.

Попросив друга попробовать это, я обнаружил, что на самом деле это проблема с окнами. Пусть это останется здесь как предупреждение для всех, кто может попробовать tinycc с python на окнах.

Теги:
compilation

2 ответа

3
Лучший ответ

Используете ли вы tiny_impdef.exe для создания файла .def для библиотеки Python?

  • 0
    Ну, что ты знаешь! : D Спасибо большое: D
  • 0
    Так что это была ошибка времени ссылки?
2

Полное решение для Windows:

  • tiny_impdef согласно совету bk1e

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

  • добавить python25.def(или python26.def) в список компиляции

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

    (замените 25 на 26 для Python2.6)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню