Итак, я совершенно не новичок в программировании на C на компьютере (я однажды скомпилировал код в колледже, но это все), поэтому, когда я пытался узнать Cython, я был наделен Мне не нужно ДЕЙСТВИТЕЛЬНО учиться любому C. Возможно, я слишком надеялся?Cython: Учебник не может найти внешние символы, которые никогда не ссылаются
В любом случае, я делаю учебник here и сталкиваюсь с проблемами сгенерированным кодом C. А именно, он дает следующие ошибки:
___pyx_pf_5queue_5Queue___dealloc__
queue.obj : error LNK2019: unresolved external symbol _queue_new referenced in function ___pyx_pf_5queue_5Queue___cinit__
\\Vs1\fs2\Operations\Software\VixarFiles_Dev\Playground\cython\tutorial and calgorithms src\queue.pyd : fatal error LNK1120: 2 unresolved externals
Я не знаю, где он получает знак «_» перед этими именами, он должен писать их сам где-то, когда он создает дэ код C (это нигде в моем коде). Любая помощь или подсказки будут оценены.
Возможные причины неполадки: - Хорошо, я не последовал за учебником ИДЕАЛЬНО. Я не создал или не установил библиотеку, я просто выбросил исходный код в ту же папку, что и мои файлы python (и назвал их по-другому, чтобы убедиться, что он не перезаписывал файлы * .c). Из того, что я сделал в классе C++, это должно быть хорошо. Есть ли причина, по которой это может быть не так? Если это так, я не знаю, как правильно создать файл C.
Я хотел бы знать, есть ли у кого-нибудь представление о том, что я делаю неправильно, или о хороших шагах, которые я могу предпринять, чтобы выяснить, как его решить. Благодаря!
Покажите нам, что вы на самом деле сделали. Списки файлов, сообщения об ошибках, вывод отладки, весь бит. – Marcin
Чтобы эффективно использовать Cython, вам нужно знать некоторые C, по крайней мере, в настоящее время. В противном случае, просто придерживайтесь Python. –
У меня такая же проблема - я подозреваю, что она связана с изменением имени C на архитектурах x86. См. Также http://forum.pellesc.de/index.php?topic=4103.0 и https://github.com/SciTools/conda-recipes-scitools/issues/29. У меня пока нет решения проблемы. – pelson