Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Example of boost/python/call_method.hpp does not compile

Aberta
#326 0 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
1/5
Tempo estimado
Menos de uma hora
Facilidade para iniciantes
45/100
Tipo de issue
Bug
Clareza
Claramente especificada
Status de atividade
Estagnada
Stack de tecnologia
cpp
Domínio
backend

Direção de pesquisa

Comece com o exemplo my_module.cpp e reproduza o comando gcc relatado usando o caminho de inclusão do Python 3.6. Verifique os headers do exemplo em relação às declarações call_method e def ausentes relatadas; considera-se concluído quando o exemplo inclui os headers necessários do Boost.Python e compila sem esses erros.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

I compilled the my_module.cpp file with the following command:
gcc -o my_module.o my_module.cpp -c -Wall -fPIC -I/usr/include/python3.6

This resulted in the following error:

my_module.cpp: In member function ‘virtual const char* Base_callback::class_name() const’:
my_module.cpp:31:44: error: ‘call_method’ was not declared in this scope
    char const* class_name() const { return call_method<char const*>(m_self, "class_name"); }
                                            ^~~~~~~~~~~
my_module.cpp:31:56: error: expected primary-expression before ‘char’
    char const* class_name() const { return call_method<char const*>(m_self, "class_name"); }
                                                        ^~~~
my_module.cpp:31:56: error: expected ‘;’ before ‘char’
my_module.cpp:31:67: error: expected unqualified-id before ‘>’ token
    char const* class_name() const { return call_method<char const*>(m_self, "class_name"); }
                                                                   ^
my_module.cpp:31:67: error: expected initializer before ‘>’ token
my_module.cpp: In function ‘void init_module_tryout()’:
my_module.cpp:40:5: error: ‘def’ was not declared in this scope
     def("is_base", is_base);
     ^~~
makefile:16: recipe for target 'my_module.o' failed

The solution was to add the following 2 include statements:

#include <boost/python/call_method.hpp>
#include <boost/python/def.hpp>
Linguagem predominante
C++
Estrelas
537
Forks
223
Merge médio
11h 22min
PRs com merge (30d)
2

Guia de contribuição

Nenhum guia de contribuição indexado para este repositório

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de boostorg/python

Todas as issues de boostorg/python

Issues semelhantes

Mais issues de C++

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.