【发布时间】:2011-03-24 00:00:15
【问题描述】:
如果这个问题已经得到解答,我深表歉意,我已经搜索了一段时间,但没有找到直接的答案。
我习惯于 windows visual c++,我使用头文件 (*.h) 来声明类及其函数和源文件 (*.cpp),其中对实际类的函数进行了详细编码。我现在正在使用使用cmake 的Kdevelop 在Linux 下工作。我创建了一些带有类的头文件并声明了它们的函数,然后在它们各自的源文件中对函数进行了编码。每次我尝试构建时,都会收到错误消息,指出 Class::function() 是未定义的引用。如果我在头文件中添加实际函数,则构建工作正常。所以我假设cmake 没有正确链接头文件的相应源文件。我假设这会自动发生,但我现在猜测情况并非如此。我怎样才能做到这一点?对于我创建的每个头文件,使用与源文件完全相同的名称,是否将其全部链接并构建?
如果已经回答了,请发布链接,如果没有,我希望得到一个简单的解释。我知道有很多方法可以做到这一点(autoconf、make dep 等?)但现在我坚持使用cmake。
【问题讨论】: