cpp 链接器失败,无法跟踪错误源
cpp linker failed, can't trace source of error
我是cpp的新手,我偶然发现了一个无法跟踪的链接器故障。
我正在尝试GoogleTest,并试图将内联头样本(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
谷歌测试工作得很好,我已经用原始样本3inl.h 进行了尝试
链接器故障错误:
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和unittest.cpp)可以在下面的页面上找到。
花了几个小时试图找出错误的原因,但我找不到,我真的想知道我做错了什么。感谢您提前抽出时间。
我正在尝试GoogleTest,并试图将内联头样本(sample-3inl.h)重写为一个单独的源文件和头文件。
使用模板无法做到这一点。有关更多信息,请参阅为什么模板只能在头文件中实现?
相关文章:
- 光线跟踪器灯光反射错误
- 为什么在c++中使用Delete[]会出现跟踪/断点错误
- 使用valgrind跟踪段错误,并了解valgrind输出
- 错误:未知类型名称"功能跟踪"
- C 错误跟踪意外令牌
- 需要帮助跟踪此代码中的分段错误
- 跟踪器示例中的OpenCV 3.0链接器错误
- 添加 -lrt 时跟踪编译器错误"undefined reference"不起作用
- 我无法跟踪函数的错误
- 人脸跟踪错误 Opencv
- C++错误:调用"跟踪::跟踪(字符,字符)"没有匹配函数
- opencv 卡尔曼滤波多对象跟踪错误
- cpp 链接器失败,无法跟踪错误源
- 如何从这些信息中跟踪错误代码
- 如何跟踪LLVM验证功能错误"Expected no forward declarations!"?
- 无法使用sqlite3数据库表的所有行中的数据填充列表,错误:跟踪/断点陷阱(核心转储)
- 如何解决堆栈跟踪错误
- mystackwalker.cxx(29):错误 C3861:"捕获堆栈回跟踪":找不到标识符
- Valgrind内存泄漏错误的文件跟踪
- c++中如何在do while循环中使用计数器跟踪错误