前提・実現したいこと
C++でmatplotlibを使って、任意の初速度・角度で放たれた質点のxy座標を描写したグラフを作成したいです。このページを参考に、このコードをコピーしてmatplotlibcppという名前のhppファイルを作成しました。matplotlibcpp.hppをインクルードして、xy座標が描写されるように記述したのですが、Buildtimeで"Undefined symbols for architecture x86_64"というエラーが16個も出てきました。
先程参考にしたページには「ヘッダライブラリなので、
インクルードし、コンパイル時にpython2.7にリンクを通すだけで使用できます。」とか、
「下記のようにPythonをリンクすればコンパイルできます。
Makefile
g++ main.cpp -lstdc++ -lpython2.7 -std=c++11
CMake
find_package(PythonLibs REQUIRED)
include_directories(${PYTHON_INCLUDE_DIRS})
target_link_libraries(hoge ${PYTHON_LIBRARIES})」
とか説明が書かれており、色々調べたのですがどのように使えばよいのかわかりません。
何が足りていないのかお教えください。よろしくお願いいたします。
発生している問題・エラーメッセージ
Undefined symbols for architecture x86_64: "_PyDict_New", referenced from: bool matplotlibcpp::plot<double>(std::__1::vector<double, std::__1::allocator<double> > const&, std::__1::vector<double, std::__1::allocator<double> > const&, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > > const&) in main.o bool matplotlibcpp::named_plot<double>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::vector<double, std::__1::allocator<double> > const&, std::__1::vector<double, std::__1::allocator<double> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in main.o
該当のソースコード
試したこと
mainに上記のMakefileやCMakeを入力してみたのですが、g++と入力した時点で"Expected unqualified-id", "Unknown type name 'g'"と出てきてしまいます。
補足情報(FW/ツールのバージョンなど)
Xcode 13, macOS 11.6
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。