【发布时间】:2025-12-09 18:00:01
【问题描述】:
在linux上使用g++编译C++程序时,如何链接自己的头文件?
例如,我有一个包含以下内容的文件:
#include <stdlib.h>
#include <GL/glut.h>
#include <math.h>
#include <stdio.h>
#include "3DCurve.h"
当我使用以下命令编译时:
g++ -lm -lglut -lGL -o 3dcurve Example_8_1.cpp
我收到以下错误:
undefined reference to 'draw3Dcurve(double, double, double, double, double, double)'
如何将 3DCurve.h 文件链接到编译器?头文件及其实现与我正在编译的文件位于同一文件夹中。我的理解是,如果它位于同一个文件夹中,编译器应该会找到它。
我没有得到什么?
【问题讨论】:
-
另外,将库放在命令行中的对象和源文件之后,否则可能会遇到麻烦,具体取决于 GCC 的版本。
标签: c++ compilation header linker glut