私は、コンパイル/リンクのためにCMakeを使用する比較的大きなライブラリで作業しています。いくつかの機能を追加する必要があるため、ライブラリにいくつかのクラスを追加する必要があります。問題は、単純なhelloWorldクラスをライブラリに追加して、いくつかのmain関数から呼び出そうとすると、リンク時に未定義の参照問題が発生することです。ビルドされたコード(ライブラリフォルダー内の "CMakeFiles")を調べると、私のクラスはCMakeによってコンパイルされていません(したがって、そこにはHelloWorld.oファイルがありません)。ライブラリにシンプルなクラスを追加する際に未定義の参照エラーが発生する
誰かが間違っている場所を指摘できますか?このクラスをコンパイルするためにCMakeに明示的に伝える必要がありますか? (もしそうなら、どのように?)。私はCMakeの初心者ですので、この問題にどのように対処するのか分かりません。
私はこのような関数を呼び出します。 ``
GSROrdinary sord;
エラーメッセージは、次のようなものです。
undefined reference to beep::GSROrdinary::GSROrdinary()
undefined reference to beep::GSROrdinary::~GSROrdinary()
ありがとう、それは助けてくれました – Ikram