编译外部库

时间:2014-09-04 10:13:26

标签: c++ qt macros qt-creator

在使用外部库时,我非常新手。这是我的问题:

我想在我的项目中使用这个库:stk 我下载了库并解压缩。然后我进入终端(Linux)解压缩目录并输入:

sudo ./configure

之后的类型:

sudo make

然后liblary应该可以使用了。

我通过添加库在Qt Creator中将库添加到我的项目中。我指向.a和头文件的路径。自动生成的.pro文件包含以下行:

unix|win32: LIBS += -L$$PWD/../../../../../Pulpit/stk-4.5.0/src/ -lstk

INCLUDEPATH += $$PWD/../../../../../Pulpit/stk-4.5.0/include
DEPENDPATH += $$PWD/../../../../../Pulpit/stk-4.5.0/include

win32:!win32-g++: PRE_TARGETDEPS += $$PWD/../../../../../Pulpit/stk-4.5.0/src/stk.lib
else:unix|win32-g++: PRE_TARGETDEPS += $$PWD/../../../../../Pulpit/stk-4.5.0/src/libstk.a

好的,好的。到目前为止一切都有效。我从教程编写简单的代码,我得到了这个错误:

'MUTEX' does not name a type
   MUTEX mutex_;
   ^
 'CONDITION' does not name a type
   CONDITION condition_;
   ^

我转到Mutex.h文件,我发现: enter image description here

这段代码处于灰色背景中,表示条件未得到满足。 我猜在代码中没有定义 OS_LINUX 宏。什么时候可以生成这个宏?当我运行sudo ./configure?此外,如果我删除条件并仅留下:

 #include <pthread.h>
  typedef pthread_mutex_t MUTEX;
  typedef pthread_cond_t CONDITION;

然后这个文件没有问题,但是在包含一些宏的其他文件中。

问题是:如何生成宏或为什么不生成?

0 个答案:

没有答案