2
我具有以下Qt工程结构:如何让qt不忽略方法?
静态库#1
public class LibraryClass
{
public int Test();
}
静态库#2(参照库#1)
void SomeMethod()
{
...
x = library1Instance.Test();
...
}
可执行文件(参考库#1和库#2)
void SomeOtherMethod()
{
...
library2Instance.SomeMethod();
...
}
库#1和库#2 comp没有错误。但是当我试图编译可执行文件时,出现错误“未定义对LibaryClass :: Test()的引用”。这意味着libary#1链接没有LibraryClass :: Test()方法。
如果我在库#1中创建另一个类,并将该类引用到LibaryClass :: Test()方法,则所有内容都将编译。
据我所知,编译器省略了方法LibaryClass :: Test(),因为它不能找到它的内部引用。所以,我应该以某种方式将其标记为出口或其他方法。我该怎么做?
你究竟如何链接程序?该命令对静态库非常重要:#1必须在#2后解决依赖关系。 –
如何检查链接顺序?我正在使用Qt Creator。我能找到的只有libarary#1和#2的地方是executable.pro文件(这是我参考这些库的地方) – developer
是的,看来我应该将库#1引用放在.pro文件的最后。谢谢,迈克! – developer