我对QTCreator很陌生。我在Visual Studio中制作了一个使用Dcmtk库的小程序,现在我正在尝试使用GUI来做到这一点,为此我试图在QTCreator中制作相同的程序,以便添加该GUI功能。但是当我尝试将头文件和.lib文件添加到QTCreator时,会出现问题。在做Visual Studio中的程序添加以下库库:如何将dcmtk库添加到QTCreator项目中?
dcmdata.lib
oflog.lib
ofstd.lib
ws2_32.lib
netapi32.lib
与库目录调试模式:
D:\dcmtk-3.6.0\Lib files\Debug;
和释放模式是
D:\dcmtk-3.6.0\Lib files\Release;
对于加入在Visual Studio中的头文件我把包含目录作为:
D:\dcmtk-3.6.0\Prefix Files\include;
所以,QTCreator在.pro文件我编辑和添加的lib文件和头文件目录,并指出我需要它的lib文件和.pro文件看上去如下:
#-------------------------------------------------
#
# Project created by QtCreator 2013-05-02T10:59:41
#
#-------------------------------------------------
QT += core#adding the core framework
QT -= gui#removing the gui portion
TARGET = untitled#targetting the project
CONFIG += console#defining that it is console application
CONFIG -= app_bundle#
TEMPLATE = app
SOURCES += main.cpp#adding the main.cpp as source file
LIBS +="D:/dcmtk-3.6.0/Lib files/Release"
-ldcmdata\
-loflog\
-lofstd\
-lws2_32\
-lnetapi32\
-wsock32\
LIBS +="D:/dcmtk-3.6.0/Lib files/Debug"
-ldcmdata\
-loflog\
-lofstd\
-lws2_32\
-lnetapi32\
-lwsock32\
INCLUDEPATH += "D:/dcmtk-3.6.0/Prefix Files/include"
我的天堂”牛逼开始编程,但我只是用#include指令添加的头文件的名称和代码如下:
#include <QCoreApplication>
#include <QDebug>
#include "dcmtk/config/osconfig.h"
#include "dcmtk/dcmdata/dctk.h"
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QString mystr="Hellow world";
qDebug() <<mystr;
return a.exec();
}
但是当我尝试建立它这给了错误。错误如下:
D:\QtFiles\untitled\main.cpp:3: error: C1083: Cannot open include file: '/dcmtk/config/osconfig.h': No such file or directory
看来我在将头文件和lib文件链接到程序时发生了一些错误。编程代码中的两行代码
#include "dcmtk/config/osconfig.h"
#include "dcmtk/dcmdata/dctk.h"
在Visual Studio中不会出错,所以我确信它们没有错。你能否说我在链接外部头文件和lib文件时犯了什么错误?
SOLUTION:
我改变外部链接到下面的.pro文件的线条和它的工作:
LIBS += -L"D:/dcmtk-3.6.0/Lib files/Release" \
-ldcmdata\
-loflog\
-lofstd\
-lws2_32\
-lnetapi32\
-lwsock32\
LIBS += -L"D:/dcmtk-3.6.0/Lib files/Debug" \
-ldcmdata\
-loflog\
-lofstd\
-lws2_32\
-lnetapi32\
-lwsock32\
INCLUDEPATH += "D:/dcmtk-3.6.0/Prefix Files/include/"
'INCLUDEPATH * ='* =看起来很奇怪。 (你在那条线上缺少引号。在包含或libs的路径中有空间是浪费大量时间与各种公用事业打交道的好方法,它们根本不期望它们) – Mat 2013-05-03 09:31:12
其实我只是想用这种方式,但即使我把INCLUDEPATH =它不起作用。我现在编辑了这部分内容。 – 2013-05-03 09:34:48
你仍然缺少报价。 (而且应该是+ =而不是* =,但应该是正确的=)。 – Mat 2013-05-03 09:40:01