【发布时间】:2020-11-12 14:29:06
【问题描述】:
我对 C++ 上的多文件编译非常陌生,我试图通过测试来理解它。
但在下面的示例中,我收到了一个错误undefined reference to `func()',我不明白为什么。
提前致谢!
Main.cpp
#include <iostream>
#include "file1.h"
int main() {
func();
return 0;
}
文件1.h
#ifndef UNTITLED1_FILE1_H
#define UNTITLED1_FILE1_H
#include <iostream>
void func();
#endif //UNTITLED1_FILE1_H
文件 1.cpp
#include "file1.h"
void func() {
std::cout << "Test" << std::endl;
}
CMAKELIST
cmake_minimum_required(VERSION 3.17)
project(untitled1)
set(CMAKE_CXX_STANDARD 14)
add_executable(untitled1 main.cpp file1.h)
【问题讨论】:
-
你是如何构建它的?您使用一些构建管理器还是手动执行?请提供您正在使用的命令。
-
提供你的编译行。
-
您需要在 cmake 中将 file1.cpp 添加到您的可执行文件中