Hacktoberfest 2026:維護者為十月標記出來的 issue,仍然開放、適合新手。 瀏覽 Hacktoberfest issue

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

未關閉
#326 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視

還沒有人認領這個 Issue。

評估

難度
1/5
預估耗時
1 小時以內
新手友好度
45/100
Issue 類型
缺陷
描述清晰度
描述清楚
活躍度
停滯
技術堆疊
cpp
領域
backend

研究方向

從 my_module.cpp 範例開始,使用 Python 3.6 的 include 路徑重現報告中的 gcc 命令。檢查範例的標頭檔,確認其是否對應報告中缺少的 call_method 和 def 宣告;完成的標準是範例包含所需的 Boost.Python 標頭檔,並且能夠在沒有這些錯誤的情況下編譯。

由索引模型根據 Issue 內容生成。

描述

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>
主要語言
C++
星號
537
分支
223
平均合併
11 小時 22 分鐘
30 天內合併 PR
2

貢獻指南

這個儲存庫沒有索引到貢獻指南

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

boostorg/python 的其他 Issue

查看 boostorg/python 的全部 Issue

相似的 Issue

更多 C++ Issue

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。