问题描述:

[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++

results matching ""

    No results matching ""