C C++混合编译问题
编译c c++混合的代码遇到的问题记录:
代码库中引入了string vetor等c++相关,链接的时候报错 如下:
对‘std::allocator::allocator()’未定义的引用
对‘std::__cxx11::basic_string<char, std::char_traits, std::allocator >::basic_string(unsigned long, char, std::allocator const&)’未定义的引用
修改成g++编译后,又开始报编译问题,其中有段报错无法找到struct socketaddr,但是代码中该引用的头文件都引用了,且在gcc的时候编译可以通过,先后尝试了extern c等等方法都不管用,最后发现是封装accept函数的函数使用了 struct sockaddr *restrict address,c++中不识别,导致无法编译通过,去掉即可