消息关闭
    暂无新消息!

LNK2019,LNK2001报错

问题作者 : Julius2017-08-12发布
C++新手求救,调了一个星期了,没人教。急死了!

错误内容:
1》 严重性 代码 说明 项目 文件 行 禁止显示状态
错误 LNK2019 无法解析的外部符号 "public: __cdecl parameterselection::parameterselection(class QWidget *)" (??0parameterselection@@QEAA@PEAVQWidget@@@Z),该符号在函数 "private: void __cdecl MainImageWindow::on_actionInputParameter_2_triggered(void)" (?on_actionInputParameter_2_triggered@MainImageWindow@@AEAAXXZ) 中被引用 ITK-SNAP E:\DeepIRT\DeepIRT2.0\SNAP3.6\itksnapui_qt.lib(MainImageWindow.obj) 1

2》严重性 代码 说明 项目 文件 行 禁止显示状态
错误 LNK2001 无法解析的外部符号 "public: __cdecl parameterselection::parameterselection(class QWidget *)" (??0parameterselection@@QEAA@PEAVQWidget@@@Z) ITK-SNAP E:\DeepIRT\DeepIRT2.0\SNAP3.6\itksnapui_qt.lib(MainControlPanel.obj) 1

3》严重性 代码 说明 项目 文件 行 禁止显示状态
错误 LNK2019 无法解析的外部符号 "public: virtual __cdecl parameterselection::~parameterselection(void)" (??1parameterselection@@UEAA@XZ),该符号在函数 "private: void __cdecl MainImageWindow::on_actionInputParameter_2_triggered(void)" (?on_actionInputParameter_2_triggered@MainImageWindow@@AEAAXXZ) 中被引用 ITK-SNAP E:\DeepIRT\DeepIRT2.0\SNAP3.6\itksnapui_qt.lib(MainImageWindow.obj) 1

4》严重性 代码 说明 项目 文件 行 禁止显示状态
错误 LNK2001 无法解析的外部符号 "public: virtual __cdecl parameterselection::~parameterselection(void)" (??1parameterselection@@UEAA@XZ) ITK-SNAP E:\DeepIRT\DeepIRT2.0\SNAP3.6\itksnapui_qt.lib(MainControlPanel.obj) 1

A.  parameterselection.h:
class parameterselection : public QDialog
{
    Q_OBJECT


public:

    parameterselection(QWidget *parent = 0);
~parameterselection();    





B.  parameterselection.cpp:
parameterselection::parameterselection(QWidget *parent): QDialog(parent)
{
 setWindowTitle(tr("ParameterWidget"));
     //设置列表框
     leftlist=new QListWidget(this);  
 stack=new QStackedWidget();
 Allparameter = new QVBoxLayout;
 AllparameterWidget = new QWidget;
     AllparameterWidget->setLayout(Allparameter);
 mainLayout=new QHBoxLayout(this);
 buttonBox = new QDialogButtonBox(
             QDialogButtonBox::Ok | QDialogButtonBox::Cancel);
 
     connect(buttonBox, SIGNAL(accepted()), this, SLOT(accept()));
     connect(buttonBox, SIGNAL(rejected()), this, SLOT(reject()));
      this->resize( QSize( 700, 300 ));
    mainLayout->setMargin(10);
    mainLayout->setSpacing(10);
    mainLayout->addWidget(leftlist);
    mainLayout->addWidget(AllparameterWidget,0);
    mainLayout->setStretchFactor(leftlist,1);
    mainLayout->setStretchFactor(AllparameterWidget,3);
     connect(leftlist,SIGNAL(currentRowChanged(int)),stack,SLOT(setCurrentIndex(int)));
    
}

parameterselection::~parameterselection()

}


C   MainImageWindow.h
void on_actionOpenMovingImage_triggered();

  void on_actionInputParameter_2_triggered();       //

  void on_actionRegistrationStart_2_triggered();    //
  
  void on_actionInputfMask_triggered();

  void on_actionInputmMask_triggered();

  void on_actionAddTransformInit_2_triggered();   //


D. MainImageWindow.cxx
#include "parameterselection.h"
void MainImageWindow::on_actionInputParameter_2_triggered()
{
parameterselection  parameterw;

QString S1 = "InputParameter";
QByteArray QBA1 = S1.toLocal8Bit();
const char *pBA1 = QBA1.data();
                     ...  ...

E MainControlPanel.h
void on_btnControlInputParameter_clicked(bool checked);       //

  void on_btnControlRegistrationStart_clicked(bool checked);    //

  void on_btnControlAddTransformInit_clicked(bool checked);    //


F  MainControlPanel.cxx
#include "parameterselection.h"
void MainControlPanel::on_btnControlInputParameter_clicked(bool checked)
{

QString S1 = "InputParameter";
QByteArray QBA1 = S1.toLocal8Bit();
const char *pBA1 = QBA1.data();
                                ...  ...

4个回答

︿ 0
虽然我不知道你问的具体是什么 但是我还是花了1分钟帮你看了一下 。
找寻问题的答案也是种很好玩的事情。如果可以编译了 只能说是巧合。

itksnapui_model.lib和itksnapui_qt.lib无法LINK到vtk相关的
找到相关项目,配置附加库目录为vtk6.3.0的lib目录,附加依赖项itksnapui_model加入
vtkCommonCore-6.3.lib;vtkRenderingCore-6.3.lib;  

itksnapui_qt只需加入
vtkCommonCore-6.3.lib