问题描述:
[root@localhost test]# gcc shm_alloc_test.cc -I ../src/ -std=c++11
/tmp/ccrxV8hU.o: In function `main':
shm_alloc_test.cc:(.text+0x16): undefined reference to `operator new(unsigned long)'
/tmp/ccrxV8hU.o: In function `shmc::impl::ShmAlloc::~ShmAlloc()':
shm_alloc_test.cc:(.text._ZN4shmc4impl8ShmAllocD2Ev[_ZN4shmc4impl8ShmAllocD5Ev]+0x28):_* undefined reference to `operator delete(void\)'
/tmp/ccrxV8hU.o: In function `shmc::impl::ShmAlloc::~ShmAlloc()':
shm_alloc_test.cc:(.text._ZN4shmc4impl8ShmAllocD0Ev[_ZN4shmc4impl8ShmAllocD5Ev]+0x20): undefined reference to `operator delete(void*)'
/tmp/ccrxV8hU.o: In function `ShmAllocTest<shmc::impl::ShmAlloc>::SetUp()':
问题分析:
gcc 编译时没有链接标准库 std
g++ 会自动链接标准库
解决方案:
把gcc改g++