前提・実現したいこと
学習目的で、C言語でpaho mqttライブラリを用いたMQTTアプリケーションの開発を始めたところです。
開発環境はVisual Studio 2019で、学びのためにCMakelists.txtを作成してのコンパイルを行い、
実行ファイルを生成することがゴールです。
発生している問題・エラーメッセージ
ソースコードにmqttライブラリのヘッダをインクルードすることで、以下のエラーが発生します。
ld returned 1 exit status collect2.exe
該当のソースコード
C
1#include "Library/mqttpacket/MQTTPacket.h" 2 3int main(void) 4{ 5 6 return 0; 7}
試したこと
MQTTPacket.hとMQTTPacket.cは同じディレクトリ(プロジェクトディレクトリ/Library/mqttpacket/)にあります。
CMakelists.txtに
CMakelists
1target_link_libraries (${PROJECT_NAME} MQTTPacket) 2target_include_directories(${PROJECT_NAME} PUBLIC /Library/mqttclient /Library/mqttpacket)
のように記述しましたが解決しませんでした。おそらくリンク付けができていないことが原因と考え調査したのですが、このエラーをCMakelistsによって解決している事例が見つからず、質問をさせていただきました。
この場合、CMakelists.txtへどういった記述を行えば、リンカエラーを回避できる可能性があるでしょうか。
補足情報(FW/ツールのバージョンなど)
- Windows10 64bit
- Visual Studio 2019 Community
- paho mqtt c
あなたの回答
tips
プレビュー