基于DCMTK的Qt应用程序,调试问题

芯玥 2018-09-21 10:36:31
在Qt creator 上新建qt应用程序,仅对两个文件进行了修改,分别如下:
(1).pro文件内容如下:
QT += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = testdcmtk
TEMPLATE = app


SOURCES += main.cpp\
mainwindow.cpp

HEADERS += mainwindow.h

FORMS += mainwindow.ui
CONFIG +=debug console
DEFINES +=REENTRANT

QMAKE_CFLAGS-=-MD
QMAKE_CFLAGS_RELEASE = -MT
QMAKE_CFLAGS_DEBUG -= -MDd
QMAKE_CFLAGS_DEBUG = -MTd
QMAKE_CXXFLAGS_RELEASE -= -MD
QMAKE_CXXFLAGS_RELEASE += -MT
QMAKE_CXXFLAGS_DEBUG -= -MDd
QMAKE_CXXFLAGS_DEBUG += -MTd

INCLUDEPATH += F:/Project_Qt/DICOM_Parser-master/include
LIBS += -L" F:/Project_Qt/DICOM_Parser-master/lib" \
-ladvapi32 \
-ldcmdata \
-loflog \
-lofstd \
-lws2_32 \
-lnetapi32 \
-lwsock32
(2)main.cpp内容如下:
#include "mainwindow.h"
#include <QApplication>

//----------------------------------
#include "dcmtk/dcmdata/dctk.h"
#include <iostream>
using namespace std;
//----------------------------------
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
//---------------------------------------
DcmFileFormat fileformat;
OFCondition status = fileformat.loadFile("test.dcm");
if (status.good())
{
OFString patientsName;
if (fileformat.getDataset()->findAndGetOFString(DCM_PatientName, patientsName).good())
{
cout << "Patient's Name: " << patientsName << endl;
}else{
cerr << "Error: cannot access Patient's Name!" << endl;
}

}
else{
cerr << "Error: cannot read DICOM file (" << status.text() << ")" << endl;
}

//-------------------------------------------

return a.exec();
}

其他地方没有改动,调试时出现如下错误:
Error 1 error C2678: binary "+" : the operator that accepts the left operand of the type "const wchar_t [8]" (or no acceptable conversions)F:\DCMTK\include\dcmtk\oflog\tracelog.h 59 1 test
Error 2 error C2664: "void DCMTK: : log4cplus: : Logger: : forcedLog (const DCMTK: : log4cplus: : spi: : InternalLoggingEvent &) const" :Cannot convert parameter 3 from "int" to "const char *" F:\DCMTK\ oflog\tracelog.h 59 1 test
Error 3 error C2665: "DCMTK: : log4cplus: : Logger: : getInstance" : "none of the two overloaded can convert all parameter type F: \ DCMTK \ include \ DCMTK \ oflog \ logmacro h 107 1 test
NMAKE:-1: error: U1077: “"H:\Program Files (x86)\VC\BIN\amd64\cl.EXE"”: Return code“0x2”
NMAKE:-1: error: U1077: “"H:\Program Files (x86)\VC\BIN\amd64\nmake.exe"”: Return code “0x2”

请问这是什么原因?该如何解决?
...全文
1093 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
pro文件里加一句试试 DEFINES -= UNICODE

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧