PlatformIO を使用して Esp32 で Kafka を動作させようとしています。
platformio.ini ファイルで表現されたビルド フラグを使用して、PlatformIO でビルドされたプロジェクトに C ライブラリをリンクしようとしました。librdkafka ライブラリを使用しています。librdkafka.so ファイルの場所は /usr/local/lib にありますが、plaformio でリンクされたライブラリを使用してプロジェクトをビルドすると、次のエラーが発生します。
platformio/packages/toolchain-xtensa32/bin/../lib/gcc/xtensa-esp32-elf/5.2.0
/../../../../xtensa-esp32-elf/bin/ld: cannot find -lrdkafka
platformio.ini ファイル:
[env:featheresp32]
platform = espressif32
board = featheresp32
framework = espidf
build_flags =
-L/usr/local/lib
-I/usr/local/include/librdkafka
-lrdkafka
PlatformIO の外では、次のコマンドを使用して、librdkafka を main.c プロジェクト ファイルに正常にリンクしました。
gcc main.c -L/usr/local/lib -l:librdkafka.so -lz -lpthread -lrt -I/usr/local/include/librdkafka