C++でUSRPを動作させるための最小限のコード

以下がC++でUSRPを動作させる際の最小限のコードになります。
UHDでは、UHD_SAFE_MAINという関数をmain関数として扱うことが可能です。

  #include <uhd/utils/safe_main.hpp>
  #include <uhd/usrp/multi_usrp.hpp>
  #include <stdio.h>
  
  int UHD_SAFE_MAIN(int argc, char *argv[]){
    return EXIT_SUCCESS;
  }

C++コードのコンパイルには、共有ライブラリ(.so)を用いるため、
以下のコマンドでコンパイルします。
${NAME}の部分をプログラム名に変えてコンパイルして下さい。

  /usr/bin/c++ -O3 -DNDEBUG -I/usr/include/ -Wall -Wextra -Wsign-compare \
    -fvisibility=hidden -fvisibility-inlines-hidden -o ${NAME}.cpp.o \
    -c ${NAME}.cpp
  
  /usr/bin/c++ -O3 -DNDEBUG ${NAME}.cpp.o -o ${NAME} -rdynamic \
    /usr/lib/libuhd.so.003.005 \
    -lboost_date_time-mt -lboost_filesystem-mt -lboost_program_options-mt \
    -lboost_regex-mt -lboost_system-mt -lboost_thread-mt -lpthread \
    -lboost_unit_test_framework-mt -lrt -lusb-1.0 -lpthread -ldl \
    -Wl,-rpath,/usr/lib:


参考文献


  添付編集
Last-modified: 2015-02-01 (日) 13:08:47 (3582d)