問題タブ [pybind11]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
579 参照

python - Using built-in "open" python method in pybind11 (C++)?

How do you use basic ("default"/"built-in"; don't need to be imported) python methods in pybind11?

Lists, dictionaries, and some others do have built-in compatibility, but the method I am looking specifically for (open) is not included via an import. I know that a way around it would be to create a python file with a method wrapping "open" and then calling it as you would any imported method, but I would prefer to do it directly in C++ (using pybind) if possible as otherwise that semi-defeats the purpose.

Any assistance/advice would be greatly appreciated.

0 投票する
1 に答える
1493 参照

c++ - 2 つのモジュールをリンクするために cmake で pybind11 を使用する方法

pybind11 によって作成されたいくつかのモジュールを結合しようとしていますが、残念ながら機能しません。うまくいけば、誰かが助けてくれるでしょう。できるだけ問題を単純化しようとしました。

次の 2 つのモジュールを作成しようとしています。

  • point: 直接呼び出すことができます
  • line: 直接呼び出すことができ、ポイント モジュールも使用します。

ポイント.h:

ポイント.cpp:

line.h:

ライン.cpp:

CMakeLists.txt:

これで、次の python コードが実行されます。

未定義のシンボルエラーにつながります: Symbol not found: __ZN5pointC1Eddd

アップデート:

cmake ファイルで次の行も試しました。 pybind11_add_module(point SHARED point.cpp) pybind11_add_module(line line.cpp) target_link_libraries(line PRIVATE point)

更新:より正確なエラー: