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.참고 링크
연습: 고유한 동적 링크 라이브러리 만들기 및 사용(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 |