본문 바로가기

Programming

How to add DLL / external lib file to VisualStudio, 비주얼스튜디오 외부라이브러리 dll 파일 추가 방법, example, c++ java api

How to add DLL / external lib file to VisualStudio, 비주얼스튜디오 외부라이브러리 dll 파일 추가 방법, example, c++ java api



 만든 dll 파일을 추가할때도 좋고, 아니면 오픈소스 dll 파일 등을 가져다 쓸때도 쓰이고

 To add DLL file you made, or to use open source DLL file

** in x64



과정을 보면, 


1. 일단 dll 파일과 header 파일이 있어야 하고, 


2. dll 파일로부터 lib 파일을 만들어서 lib 파일도 있는게 좋다. (만드는 방법은 검색해보거나 나중에 올림)


3. 솔루션에서 프로젝트 우클릭 -> 속성(properties) -> C/C++ general -> 추가 디렉토리 (Additional Include Directories) -> header 파일 경로를 추가해준다.

 -> e.g. C:\OpenCV\opencv\build\include -> 이걸로 #include <header파일.h> 가능하게 해준다.


4. 솔루션에서 프로젝트 우클릭에서 -> 속성(properties) -> 링커(Linker) 일반(general) -> 추가 라이브러리 디렉토리(Additional library directories) -> lib 파일이 있는 경로를 추가해준다. 

 -> e.g. C:\OpenCV\opencv\build\x64\vc14\lib -> 주의점은 lib 파일과 dll 파일이 같은 경로 위치에 있어야 한다.


5. 솔루션에서 프로젝트 우클릭에서 -> 속성(properties -> 링커(Linker) 인풋(Input) -> 추가 디펜던시(Additional dependencies) -> 추가할 lib 파일의 이름을 저장해준다.

 -> e.g. opencv_world345d.lib (이건 특이하게 그냥 줄바꿔서 넣어주면 됨)


 갠적인 생각으로는, 프로그램에서 header 파일을 넣어서 lib 파일과 연결해주고, lib 파일은 dll 파일과 연결이 되어 실사용이 가능하도록 해주는 듯?


 Program -> header file -> lib file -> dll file  ??




Let's get started with the process


1. First of all, we need to have DLL file and header file,


2. It's better to make .lib file from dll file. (Search it or I'll post that later)


3. Right click Project in Solution -> Properties -> C/C++ General -> Additional Include Directories -> Add path of header file

 -> e.g. C:\OpenCV\opencv\build\include -> It makes we can use #include <headerFile.h>


4. Right click Project in Solution -> Properties -> Linker General -> Additional Library Directories -> Add path of the .lib file

 -> e.g. C:\OpenCV\opencv\build\x64\vc14\lib -> ** .lib file and .dll file have to be in the same path


5. Right click Project in Solution -> Properties -> Linker -> Input -> Additional Dependencies -> Add .lib file name

 -> e.g. opencv_world345d.lib (Kinda weired but add the file name after the next line)


In my opinion, header file connects program with lib file, lib file connects header file with dll file, and now we can use it?


 Program -> header file -> lib file -> dll file  ??




Something else you might like...?




2019/01/31 - [Programming/Java] - How to convert Decimal to Hexa, 10진수 숫자 16진수 숫자로 변환/바꾸기, Java c++, example, code


2019/01/30 - [Programming/Software Architecture] - What is Object Oriented Design/Artchitecture? 객체지향 디자인/설계란? java,c++,softwareArchitecture,designPattern


2019/01/29 - [Programming/Programming Language] - 클린코딩/더 나은 코딩을 하는 10가지 방법, 10 Tips for clean code/ better code/ quality code.


2019/01/22 - [Programming/Java] - How to make Date format in Java, 자바 SimpleDateFormat 연월일/날짜 형식, time, 시분초



2019/02/03 - [Algorithm/Leet Code] - LeetCode #398 RandomPickIndex. Algorithm,알고리즘,LeetCode,Codefights,CodeSignal,코드파이트,코드시그널,예제,문제해결능력,example,c++,java,재귀,recursive,datastructure,techinterview,coding,코딩인터뷰,기술면접

2019/02/01 - [Algorithm/Leet Code] - LeetCode #905 SortArrayByParity. Algorithm,알고리즘,LeetCode,Codefights,CodeSignal,코드파이트,코드시그널,예제,문제해결능력,example,c++,java,재귀,recursive,datastructure,techinterview,coding,코딩인터뷰,기술면접

2019/01/31 - [Algorithm/Leet Code] - LeetCode #593 ValidSquare. Algorithm,알고리즘,LeetCode,Codefights,CodeSignal,코드파이트,코드시그널,예제,문제해결능력,example,c++,java,재귀,recursive,datastructure,techinterview,coding,코딩인터뷰,기술면접



2019/01/25 - [Life/Health care] - Maca 마카 usage/side effects/dosage 효능/부작용/성인,소아 용법(2)

2019/01/25 - [Life/Health care] - L-Arginine 아르기닌 usage/side effects/dosage 효능/부작용/성인,소아 용법(3)