1、下载开源VSOMEIP代码
2、直接 mkdir build;cd build; cmake ../
3、第一坑,没有boost,装boost即可,参考如下方法
https://blog.csdn.net/qq_41350775/article/details/107066438
4、再次cmake ../
报如下错误
<command line>:4:9: error: macro name must be an identifier
#define -DBOOST_LOG_DYN_LINK 1
打开CMakeLists.txt,添加如下一个配置
if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
set(OS "Darwin")
set(DL_LIBRARY "dl")
set(EXPORTSYMBOLS "-Wl,-export-dynamic -Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/exportmap.gcc")
set(NO_DEPRECATED "")
set(OPTIMIZE "")
set(OS_CXX_FLAGS "-D_GLIBCXX_USE_NANOSLEEP -pthread -O -Wall -Wextra -Wformat -Wformat-security -Wconversion -fexceptions -fstrict-aliasing -fstack-protector -fasynchronous-unwind-tables -fno-omit-frame-pointer -D_FORTIFY_SOURCE=2")
endif (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
其实这是把linux的配置抄了一下,至少目前的错误可以过了,但是是否设置正确,得往后走的看了。
5、vsomeip/implementation/endpoints/src/credentials.cpp:19:37: error: use of undeclared identifier 'SO_PASSCRED'
目前识别到的是vsomeip没有对mac做适配,如果想继续编译的话,可能需要修改源码了。
暂时搁置吧