SWIG을 사용하여 포장하려는 타사 .lib
파일과 하나의 .h
파일을 받았습니다. 다른 언어로 사용할 수 있습니다. 모든 SWIG의 예제는 C \ C++ 소스 코드와 함께 제공되지만, 제 경우에는 소스 코드가 없습니다.
래퍼를 만들려면 어떻게해야합니까?SWIG 사전 컴파일 라이브러리
1
A
답변
2
SWIG 예제에는 독자가 컴파일하고 시도 할 수 있도록하는 정의 (소스 코드)가 포함되어 있지만 인터페이스 파일 (.i)의 모든 예에는 선언 (헤더 파일에서 일반적으로 볼 수있는 내용), 모두 SWIG가 래퍼를 생성해야합니다.
인터페이스 파일을 작성하는 일반적인 방법은 다음과 같이 간다 : 당신의 헤더 파일이 간단하고 당신이 그것에 모든 정의를 내보낼
/* File : example.i */
%module example
%{
/* This block will end up verbatim in the generated wrapper - include your header
* so that the wrapper will have access to its definitions
*/
#include "your_header.h"
%}
/* The definitions in this part are used to generate the wrapper.
* Copy the definitions you want to export to the other language from the header
* and put them here
*/
extern double variable_from_header;
extern int function_from_header(int);
경우, 인터페이스 파일과 멀리 될 수있는 위치 다음과 같습니다
/* File : example.i */
%module example
%{
#include "your_header.h"
%}
%include "your_header.h"
공지 사항은 인터페이스 정의 파일의 일부인 것처럼 꿀꺽 꿀꺽가 포함 된 파일을 구문 분석 지시 %include
지시어. 이 방법을 설명하는 설명서의 Section 5.7도 참조하십시오.
일단 래퍼가 있으면 예제의 소스 코드에서 만든 개체를 링크 할 때와 마찬가지로 lib를 링크합니다.
관련 문제
- 1. 정적 라이브러리 용 SWIG Python 래퍼 컴파일?
- 2. Swig 랩 GLM 라이브러리
- 3. global.asax 만 컴파일/사전 컴파일
- 4. Python 용 COLeDateTime을 사용하여 swig 확장자 컴파일
- 5. swig python3 vC++ 컴파일, 오류 LNK2019
- 6. 프로젝트에 라이브러리 코드를 추가하거나 사전 컴파일 된 바이너리를 사용합니까?
- 7. swig 및 보조 공유 라이브러리 (C++)
- 8. Heroku에서 에셋 사전 컴파일
- 9. 사전 컴파일 핸들 템플릿
- 10. AppHarbor 사전 컴파일 오류
- 11. Heroku가 사전 컴파일 에러
- 12. 사전 컴파일 .H 파일
- 13. 사전 컴파일 jsrender 템플릿
- 14. 결과가없는 Heroku 사전 컴파일
- 15. C 라이브러리의 사전 라이브러리
- 16. 오픈 소스 사전 라이브러리
- 17. 사전 확인을위한 jQuery 라이브러리
- 18. 단어 사전 라이브러리 AS3
- 19. 사전 컴파일 JSP 파일 예외 발생
- 20. 사전 컴파일 오류 레이크 중단됨
- 21. 레이크 에셋 : 사전 컴파일 오류
- 22. 로그 아웃 버튼 : 사전 컴파일
- 23. JBoss 7에서 JSP 사전 컴파일
- 24. WCF 및 ASP.Net 사전 컴파일
- 25. C# 사전 초기화 컴파일 불일치
- 26. 사전 컴파일 된 헤더 경고
- 27. .NET VirtualPathProviders 및 사전 컴파일
- 28. 라이브러리 컴파일 오류
- 29. iOS : 정적 라이브러리 컴파일
- 30. Windows에서 GMP 라이브러리 컴파일
헤더 파일이 없더라도 관련된 함수의 선언을 알고있는 경우 첫 번째 방법을 사용할 수 있습니다 – Flexo