windows intel Pin 3.2 환경 구축
출처: http://www.xeronichs.com/2017/02/vs2015-with-intel-pin-32.html
환경:
windows 7
Visual Studio 2015 Community
Pin 3.2
세팅
Win32 프로젝트
결과물이 DLL!
Release 모드로 변경
소스파일에서 src.cpp를 만든 후
프로젝트 속성
하나씩 설정
구성속성 - 일반 - 문자집합 - 멀티바이트 문자 집합 사용
구성속성 - 일반 - 전체프로그램 최적화 - 링크타임 코드생성 사용?
구성속성 - C/C++ - 일반 - 추가포함 디렉터리
32비트
[]\source\include\pin;[]\source\include\pin\gen;[]\extras;[]\extras\components\include;[]\extras\crt;[]\extras\crt\include;[]\extras\crt\include\arch-x86;[]\extras\crt\include\kernel\uapi;[]\extras\crt\include\kernel\uapi\asm-x86;[]\extras\libstdc++\include;[]\extras\stlport\include;[]\extras\xed-ia32\include\xed;
64비트
[]\source\include\pin;[]\source\include\pin\gen;[]\extras;[]\extras\components\include;[]\extras\crt;[]\extras\crt\include;[]\extras\crt\include\arch-x86_64;[]\extras\crt\include\kernel\uapi;[]\extras\crt\include\kernel\uapi\asm-x86;[]\extras\libstdc++\include;[]\extras\stlport\include;[]\extras\xed-intel64\include\xed;
[]는 pin의 경로
[] = Z:\어쩌구저쩌구\pin-3.2-81205-msvc-windows
구성속성 - C/C++ - 전처리기 - 전처리기 정의
32비트
TARGET_IA32
HOST_IA32
TARGET_WINDOWS
__PIN__=1
PIN_CRT=1
__i386__
64비트
TARGET_IA32E
HOST_IA32E
TARGET_WINDOWS
__PIN__=1
PIN_CRT=1
__LP64__
구성 속성 - C/C++ - 코드 생성 - C++ 예외 처리 가능 - 아니요
구성 속성 - C/C++ - 코드 생성 - 런타임 라이브러리 - 다중 스레드(/MT)
구성 속성 - C/C++ - 코드 생성 - 보안 검사 - 보안 검사 사용 안함(/GS-)
구성 속성 - C/C++ - 코드 생성 - 예(/Gy) ???
구성 속성 - C/C++ - 언어 - 런타임 형식 정보 사용 - 아니요(/GR-)
구성 속성 - C/C++ - 명령줄 - 추가옵션 - /FIinclude/msvc_compat.h
구성 속성 - 링커 - 일반 - 추가 라이브러리 디렉터리 -
32비트
[]\ia32\lib;[]\ia32\lib-ext;[]\ia32\runtime\pincrt;[]\extras\xed-ia32\lib;
64비트
[]\intel64\lib;[]\intel64\lib-ext;[]\intel64\runtime\pincrt;[]\extras\xed-intel64\lib;
구성 속성 - 링커 - 입력 - 추가 종속성 -
32비트
pin.lib
pinvm.lib
xed.lib
kernel32.lib
ntdll-32.lib
c-static.lib
m-static.lib
os-apis.lib
stlport-static.lib
crtbeginS.obj
64비트
pin.lib
pinvm.lib
xed.lib
kernel32.lib
ntdll-64.lib
c-static.lib
m-static.lib
os-apis.lib
stlport-static.lib
crtbeginS.obj
구성 속성 - 링커 - 입력 - 모든 기본 라이브러리 무시 - 예
32비트
구성 속성 - 링커 - 고급 - 진입점 - Ptrace_DllMainCRTStartup%4012
구성 속성 - 링커 - 고급 - 기준 주소 - 0x55000000
구성 속성 - 링커 - 고급 - 이미지에 안전한 예외 처리기 포함 - 아니요(/SAFESEH:NO)
64비트
구성 속성 - 링커 - 고급 - 진입점 - Ptrace_DllMainCRTStartup
구성 속성 - 링커 - 고급 - 기준 주소 - 0xC5000000
구성 속성 - 링커 - 고급 - 이미지에 안전한 예외 처리기 포함 - 아니요(/SAFESEH:NO)
구성 속성 - 링커 - 명령줄 - 추가옵션 - /export:main
빌드 - 성공 ! - release 폴더의 ~.dll을 사용!