问题遇到的现象和发生背景
window linux Ubuntu18 子系统 sctp没有 <netinet/sctp.h>的netinet
只有在 /usr/include/linux/下有 sctp.h?
所以我在makefile里把头文件路径导向到 /usr/include/linux/sctp.h
g++ log.c sctp_server.c -Wall -I/usr/include/linux/ -lsctp -std=c++11 -o server
也不知道这个路径下的文件是什么来历?string.h没有 strlen, /usr/linclude/string.h是有的,由于一系列找不到变量问题,就几个目录的优先级没法确定,陷入死循环。
g++ log.c sctp_server.c -Wall -I/usr/linclude -I/usr/include/linux/ -lsctp -std=c++11 -o server
接着就出现了 size_t 的问题等一些列的问题. 转移到虚拟机。有了这个路径netinet/sctp.h,就没有这些问题。
所以问题的本质是 /usr/include/linux/ 常用的类型都没有,就很奇怪!