:/ ArrayHolder.cppC++リンク未定義参照
私のコードはコンパイルを保有/ ArrayHolder.hで定義され、ホルダーに実装さhttps://github.com/daniftodi/metal
私が持っているArrayHolderクラス。しかし、私のmain.cppで;私はする必要があります:
#include "holders/ArrayHolder.cpp"
私はそれをしないでください。このエラーが表示されます:
main.cpp.o:(.rodata._ZTV11ArrayHolderI8FunctionE[_ZTV11ArrayHolderI8FunctionE]+0x10): undefined reference to `ArrayHolder<Function>::put(Function*)
解決できない問題があります。私を助けてください。
はmain.cppにヘッダファイルをインクルードしてリンクするときに、あなたのcppファイル – matesc
をリンクするようにコンパイラに伝えるには、あなたの問題が何であるかを詳細にもう少し行くことができますか?たぶんCMakeコードですか? 「もしArrayHolder.cppが含まれていなければ...リンカのエラーが出ます」というのはかなり明らかです。ちょうど推測です:あなたはライブラリを構築していて、['target_link_libraries()'](https://cmake.org/cmake/help/latest/command/target_link_libraries.html)コマンドで 'main'にリンクするのを忘れていますか? – Florian
ここにCMakeListファイルがあります:https://github.com/daniftodi/metal/blob/master/CMakeLists.txt – daniftodi