我有一个C ++程序,大约有7个头文件和7个.cpp
文件直接卡在一个文件中。如果我尝试在CodeBlocks中编译它,一切都很好,花花公子。没问题。
但是,我试图让它在Unix命令行下工作。我输入
进行基本编译g++ main.cpp
这应生成一个名为a.out
的文件(默认情况下),我将运行该文件。
但是,我得到了大量未定义的引用错误。为什么会发生这种情况?我该如何解决?
答案 0 :(得分:2)
我发现这个问题很奇怪,因为CodeBlocks使用G ++。
使用命令行g++
进行编译时,需要指定需要编译和链接的所有源文件:
g++ -o main main.cpp file1.cpp file2.cpp
您还需要使用-l
选项包含库。这些库取决于您的操作系统和平台。