pico SDKはpthread mutexをサポートしていないので、そのままではコンパイルエラーになります。(verilatorのフラグオプションで thread 1に指定してもmutexを使う)
stub_mutex.hで定義することにより、pico SDK C++でビルドできるようにしています。stub_mutex.hをverilator出力のCPPソースの先頭に#include "stub_mutex.h"と書けばコンパイルできるようになります。そこで、ヘッダーファイルstub_mutex.hを読み込むようにg++フラグオプションで指定します。
g++ -include stub_mutex.h -o output source.cpp
-include オプション
#include を書かなくても、指定したヘッダーファイルが自動的にインクルードされます。CMakeLists.txtに書かれています。
# dir_obj/*.cppに -include stub_mutex.h を適用
set_source_files_properties(${VERILATOR_SOURCES} PROPERTIES COMPILE_FLAGS "-include stub_mutex.h")