gpt4 book ai didi

C++ 链接器找不到函数声明( undefined reference )

转载 作者:行者123 更新时间:2023-11-30 04:45:08 25 4
gpt4 key购买 nike

<分区>

我正在学习 C++ 并使用 CLion 构建项目。我在 main 目录中有 main.cpp 文件。我还有一个 main/Objects 目录,里面有 Vec3.hVec3.cpp 文件:

//Vec3.h
template<typename T>
class Vec3
{
public:
// 3 most basic ways of initializing a vector
Vec3() : x(T(0)), y(T(0)), z(T(0)) {}
Vec3(const T &xx) : x(xx), y(xx), z(xx) {}
Vec3(T xx, T yy, T zz) : x(xx), y(yy), z(zz) {}
T x, y, z;

T length();
};

.

//Vec3.cpp
#include "Vec3.h"
#include <stdio.h>
#include <math.h>

template <typename T>
T Vec3<T>::length()
{
return sqrt(x * x + y * y + z * z);
}

.

//main.cpp
#include <iostream>
#include "Objects/Vec3.h"

int main() {
Vec3<double> vec(3, 4, 0);
std::cout << "Hello, World!" << std::endl;
std::cout << vec.length() << std::endl;
return 0;
}

.

//CMakeLists.txt
cmake_minimum_required(VERSION 3.13)
project(Testing)

set(CMAKE_CXX_STANDARD 14)

set(SOURCE_FILES main.cpp Objects/Vec3.cpp)

add_executable(Testing ${SOURCE_FILES})

当我尝试构建和运行时,出现以下错误:

undefined reference to "Vec3<double>::length()". ld returned 1 exit status

哪些信息我没有提供给链接编辑器?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com