VS2017 выдает ошибку компоновщика при использовании с pybind11 - PullRequest
0 голосов
/ 05 марта 2019

Я использую VS2017 для использования функций C ++ внутри python, и я использую python 3.7.2.Я получаю ошибку компоновщика во время компиляции.Мое целевое расширение - .pyd.Мой исходный код, как показано ниже

class Pet {
public:
    Pet(const std::string &name) : name(name) { }
    void setName(const std::string &name_) { name = name_; }
    const std::string &getName() const { return name; }

    std::string name;
};


namespace py = pybind11;

PYBIND11_MODULE(pyBindLibrary, m) {
    py::class_<Pet>(m, "Pet")
        .def(py::init<const std::string &>())
        .def("setName", &Pet::setName)
        .def("getName", &Pet::getName);


Severity    Code    Description Project File    Line    Suppression State
Error   LNK2001 unresolved external symbol __imp_PyThread_tss_create    cpybind C:\Users\pkumar\source\repos\ConsoleApplicationCPP\cpybind\Source.obj   1   
Error   LNK2001 unresolved external symbol __imp_PyUnicode_AsEncodedString  cpybind C:\Users\pkumar\source\repos\ConsoleApplicationCPP\cpybind\Source.obj   1   
Error   LNK2001 unresolved external symbol __imp_PyBaseObject_Type  cpybind C:\Users\pkumar\source\repos\ConsoleApplicationCPP\cpybind\Source.obj   1   
Error   LNK2001 unresolved external symbol __imp_PyMem_Calloc   cpybind C:\Users\pkumar\source\repos\ConsoleApplicationCPP\cpybind\Source.obj   1   
....

...