cmake를 사용하여 QHexView를 정적 라이브러리로 컴파일

I. 소개

이 기사는 주로 cmake를 사용하여 오픈 소스 QHexView를 정적 라이브러리로 컴파일하는 방법을 간략하게 설명합니다.저자는 기본적으로 독자가 cmake를 다운로드하여 성공적으로 설치했으며 QHexView 소스 코드를 다운로드했습니다. 작성자 는 다음과 같이 독자들에게 cmake 및 QHexView 다운로드 링크를
제공
합니다
.
작가와 다르다.

둘, cmake 컴파일

1. 빌드 폴더 생성

cmake 컴파일로 생성된 파일을 저장하기 위해 QHexView에 빌드 폴더를 만듭니다.

사진 설명을 추가해주세요

2. 디렉토리 로드

  • QHexView 소스 디렉토리 로드(소스 찾아보기)
  • 생성된 폴더 디렉터리(1단계, 빌드 찾아보기에서 생성한 빌드 디렉터리)를 로드하고 컴파일합니다.
  • 구성
  • 다음과 같이 프로젝트를 생성하려면 선택합니다. 여기에서는 Visual Studio 12 2013 프로젝트를 컴파일하고 생성하도록 선택합니다.
  • 생성 플랫폼을 선택하면 arm, win32, x64를 선택할 수 있습니다. 예: 여기서는 win32를 컴파일하고 생성하도록 선택합니다.
  • 기본값을 유지하고 마침을 클릭합니다.

사진 설명을 추가해주세요

3. Qt5_DIR 로드

  • 빨간색 영역에 Qt5_DIR-NOTFIND가 표시됩니다.
  • 팝업창에서 확인 클릭
  • 빨간색 영역을 클릭하여 Qt5_DIR-NOTFIND를 표시하면 세 개의 점이 나타납니다. 클릭하여 입력합니다. 그런 다음 D:\Qt\Qt5.6.3\5.6.3\msvc2013\lib\cmake\Qt5에서 Qt5 폴더를 찾고 Qt5 폴더를 선택합니다. 여기서 D 드라이브는 다른 드라이브일 수 있습니다. 선택할 경로에 따라 Qt를 설치하십시오.

사진 설명을 추가해주세요
사진 설명을 추가해주세요

4. 구성 및 생성

  • 구성을 클릭합니다.
  • 생성을 클릭하면 구성 완료 생성 완료가
    나타납니다 .


사진 설명을 추가해주세요
사진 설명을 추가해주세요

5. 빌드 디렉토리 보기

이 시점에서 우리는 빌드 디렉토리에서 cmake가 그림에 표시된 파일을 생성했음을 알 수 있습니다. vs2013을 사용하여 QHexView.sln 솔루션을 열 수 있습니다.

사진 설명을 추가해주세요

6. 컴파일

생성 > 솔루션 생성, 그림과 같이 ...\QHexView\build\Debug 폴더에 qhexview.lib 파일이 생성되었습니다.

사진 설명을 추가해주세요

7. 정적 라이브러리 파일 보기

이 시점에서 정적 라이브러리가 컴파일됩니다.

사진 설명을 추가해주세요

3. 사용방법

1. 라이브러리 추가

프로젝트 파일을 마우스 오른쪽 버튼으로 클릭> 라이브러리 추가

사진 설명을 추가해주세요

2. 외부 라이브러리

외부 라이브러리 선택

사진 설명을 추가해주세요

3. 라이브러리 로드

3.1 라이브러리 파일 선택

...\QHexView\build\Debug 아래에서 qhexview.lib 파일을 선택합니다.

사진 설명을 추가해주세요

3.2 포함 경로 선택

  • 포함 경로 선택: ...\QHexView
  • 창 선택
  • 정적 라이브러리 선택
  • 빨간색 상자에서 선택된 모든 옵션 제거

사진 설명을 추가해주세요

4. 마무리

사진 설명을 추가해주세요

5.qmake

빌드하고 클릭하여 qmake 실행

사진 설명을 추가해주세요

4. 예제 코드

1. 헤더 파일

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QDebug>
#include <QGridLayout>
#include <QPushButton>

#include "QHexView/qhexview.h"


namespace Ui {
    
    
class MainWindow;
}

class MainWindow : public QMainWindow
{
    
    
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

private slots:


private:
    Ui::MainWindow *ui;
    QHexView *m_hexView;
};

#endif // MAINWINDOW_H

2. 소스 파일

#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    
    
    ui->setupUi(this);
    m_hexView = new QHexView(true,this);
    setCentralWidget (m_hexView);

    QByteArray data("123456");
    m_hexView->setShowData (data);

}

MainWindow::~MainWindow()
{
    
    
    delete ui;
}

5. 데모 효과

사진 설명을 추가해주세요

Supongo que te gusta

Origin blog.csdn.net/qq_42815643/article/details/129279619
Recomendado
Clasificación