Qt Library Linking

Qt Library Linking

本文关键字:Linking Library Qt      更新时间:2023-10-16

我目前正试图了解与Qt的库链接,以便将一些现有代码拆分为逻辑结构化的模块化部分,这些部分可以由不同的应用程序调用。

我一直遇到一个问题,没有创建obj文件。。。所以我创建了一个较小的示例项目,并在下面复制了我的问题。

在我看来,问题出在图书馆。。。所以我将从那里开始。

如果我有这样的代码,就会创建obj文件(因此可以通过我的测试应用程序链接到):

mylib.h

#ifndef MYLIB_H
#define MYLIB_H
#include "mylib_global.h"
class MYLIB_EXPORT MyLib
{
public:
    MyLib();
    ~MyLib();
private:
};
#endif // MYLIB_H

mylib.cpp

#include "mylib.h"
MyLib::MyLib()
{
}
MyLib::~MyLib()
{
}

但是,如果我删除cpp文件,只包含函数体的头文件(就像我实际代码库的结构一样,因为代码只由模板组成),则不会创建任何东西:

mylib.h

// .......
public:
    MyLib(){}
    ~MyLib(){}
// .......

我如何才能让Qt构建我的代码?

如果你的库只是一个头文件,你不需要编译它,把你的头包括在你的其他项目中,它们就会被编译到里面。