我目前正试图将库与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文件并且只包含包含函数bodys的头文件(因为我的实际代码库的结构,因为代码只包含模板),所以什么都没有创建:
mylib.h
// .......
public:
MyLib(){}
~MyLib(){}
// .......
我怎样才能让Qt构建我的代码?
答案 0 :(得分:0)
如果你的库只是一个头文件,你不需要编译它,在你的其他项目中包含你的标题,它们将被编译成它。