【发布时间】:2010-03-07 07:50:20
【问题描述】:
这里刚刚开始使用 C++。我正在使用 Eclipse CDT 开发 OSX。我有一个项目,其中包含一些自定义类和两个文件“Test.hpp”和“Test.cpp” - 后者使用我的 main() 方法运行我在这两个文件中定义和实现的一些测试。
我可以毫无问题地从 Eclipse 编译和运行,但是当我尝试使用“g++ Test.cpp”从命令行编译时,我得到很多链接错误,这些错误基本上列出了在 Test 中定义或引用的所有方法.cpp 作为未定义的符号。
我已经从命令行以类似的方式编译了一些基本程序(一个头文件和一个实现文件),没有任何问题,但我不知道为什么这个程序不起作用。请帮忙!
编辑:我的措辞不清楚,但是我也有其他源文件。接受的答案成功了:“g++ Test.cpp Other1.cpp Other2.cpp”。谢谢。
【问题讨论】:
-
向我们展示命令行
-
也许还会显示一些代码。 test.cpp 是唯一包含所有需要的函数定义的翻译单元吗?你写了“在Test.cpp中定义或引用 Test.cpp的所有themods的列表”。那么Test.cpp 使用了Test.cpp outside 定义的函数吗?那就是你的问题。
-
很抱歉没有发布输出。我想我已经通过说我调用了“g++ Test.cpp”来总结它,并且刚刚在“未定义的符号”下获得了我项目中所有方法的列表。 '现在已修复,我希望这足以帮助其他有同样错误的人。