0
我对cpp相对陌生,而且偶然发现链接器失败,我无法追踪。cpp链接器失败,无法追踪错误来源
我试过Google Test,我试着将内联头文件示例(sample-3inl.h)重写为单独的源文件和头文件。
我的文件夹结构如下所示:
Project structure:
├── src
│ ├── queue.cpp
│ ├── queue.h
│ ├── CMakeLists.txt
├── test
│ ├── lib
│ │ ├── gtest
│ │ │ ├── googletest
│ ├── unit_test
│ │ ├── unit_test.cpp
│ │ ├── CMakeLists.txt
│ ├── CMakeLists.txt
├── main.cpp
├── CMakeLists.txt
Google Test工作得很好,我已经与原来的sample-3inl.h试了一下。
接头failiure错误:
Undefined symbols for architecture x86_64:
"Queue<int>::Enqueue(int const&)", referenced from:
QueueTest::SetUp() in dummy.cpp.o
"Queue<int>::Queue()", referenced from:
QueueTest::QueueTest() in dummy.cpp.o
"Queue<int>::~Queue()", referenced from:
QueueTest::QueueTest() in dummy.cpp.o
QueueTest::~QueueTest() in dummy.cpp.o
"Queue<int>::Size() const", referenced from:
QueueTest_IsEmptyInitially_Test::TestBody() in dummy.cpp.o
ld: symbol(s) not found for architecture x86_64
源代码(myqueue.cpp,myqueue.h和unit_test.cpp)可以在下列page为简单起见被发现。
试图找到导致错误的原因现在几个小时,但我找不到它,真的想知道我做错了什么。 谢谢您提前预约。