ex) info

  • dll 프로젝트 명
    • projugapi
  • 모든 프로젝트 Output File 경로
    • $(SolutionDir)OutputFile\$(Configuration)\$(Platform)\

1.개발 환경에서 라이브러리 설정

  • 포함 경로에 DLL 헤더를 추가하려면 (dll 헤더 추가)
    • C/C++>일반>추가 포함 디렉터리: $(SolutionDir)\dll\projugapi
    • 추가 설명: dll 프로젝트 솔루션 명을 지정합니다.
  • 프로젝트에 DLL 가져오기 라이브러리를 추가하려면
    • 구성 속성>링커>입력: projugapi.lib
    • 추가 설명: .lib 이름을 지정합니다.
  • 추가 라이브러리 디렉터리 설정
    • 구성 속성>링커>일반>추가 라이브러리 디렉터리: $(SolutionDir)\dll\projugapi\$(IntDir)
    • 만약 Output File 경로를 별도로 지정한 경우: $(SolutionDir)OutputFile\$(Configuration)\$(Platform)\

2.유저 환경에서 라이브러리 설정

  • 포함 경로에 DLL 헤더를 추가하려면 (dll 헤더 추가)
    • C/C++>일반>추가 포함 디렉터리: $(SolutionDir)include
    • 추가 설명: 업체가 제공하는 include 폴더 명을 지정합니다.
  • 프로젝트에 DLL 가져오기 라이브러리를 추가하려면
    • 구성 속성>링커>입력: projugapi.lib
    • 추가 설명: .lib 이름을 지정합니다.
  • 추가 라이브러리 디렉터리 설정
    • 구성 속성>링커>일반>추가 라이브러리 디렉터리: $(SolutionDir)lib
    • 추가 설명: 업체가 제공하는 lib 폴더 명을 지정합니다.

3.앱 실행시 오류 메시지가 표시 되는 경우 

  • dll 파일을 실행파일과 동일한 위치에 복사

4.바이너리 샘플 프로그램 배포하는 경우

  • dll, lib, exe 한 곳에 모아서 배포

5.참고 링크

https://learn.microsoft.com/ko-kr/cpp/build/walkthrough-creating-and-using-a-dynamic-link-library-cpp?view=msvc-170

 

연습: 고유한 동적 링크 라이브러리 만들기 및 사용(C++)

C++를 사용하여 Visual Studio에서 Windows DLL(동적 연결 라이브러리)을 만듭니다.

learn.microsoft.com

 

https://reqrypt.org/windivert.html

 

WinDivert: Windows Packet Divert

WinDivert: Windows Packet Divert Windows Packet Divert (WinDivert) is a user-mode packet capture-and-divert package for Windows 10, Windows 11, and Windows Server. WinDivert allows user-mode applications to capture/modify/drop network packets sent to/from

reqrypt.org

 

 

6.빌드 순서 변경

  • 프로젝트에 DLL과 앱 프로젝트가 동일한 위치에 존재한다면 dll부터 빌드를 수행해야 합니다.
  • 아래의 그림을 참고 바랍니다.

 

7.앱 C++ 외부 라이브러리 사용법 (개발 환경 + 유저 환경 라이브러리 동시 설정)

  • 포함 경로에 DLL 헤더를 추가하려면 (dll 헤더 추가)
    • $(SolutionDir)\dll\pgfdapi
    • $(SolutionDir)include 
  • 프로젝트에 DLL 가져오기 라이브러리를 추가하려면
    • pgfdapi.lib
  • 추가 라이브러리 디렉터리 설정
    • $(SolutionDir)OutputFile\$(Configuration)\$(Platform)\
    • $(SolutionDir)lib

* 가장 가독성 좋음.

'Windows App' 카테고리의 다른 글

C언어 구조체 크기 구하기 2  (0) 2024.05.23
C언어 구조체 크기 구하기 1  (0) 2024.05.23
C++ 프로젝트 원격 디버그  (0) 2022.08.09
C언어 추천 도서  (0) 2022.07.15
app SHA256 EV서명 방법  (0) 2022.06.23

+ Recent posts